Rozental, Gennadiy wrote: >> Therefore to justify >> boost::optional as a key in an associative container, as >> opposed to its >> direct type, I believe one has to justify a situation where >> the "non-actual" >> value is really being used as a key. > > Let say I have mapping of state to action. Now I want to support the > case where current state is undefined. So I am using optional<state> > as a key. Does this example fit for the situation?
It fits the situation. A good example. OK, I'm sold. <g> My imagination on this was too limited. I can see where one can use the undefined value along with a number of defined values as keys in containers or as values in a sorted container, both needing the operator < . I assume that operator < would of course have undefined values always false when compared against another undefined value as being <. The decision that needs to be made is how an undefined value compares against defined values. Is the undefined value always < all defined values, or is the undefined value always > all defined values, or is it user decided via some boolean switch. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost