
On Mon, Feb 13, 2012 at 9:51 PM, Andrzej Krzemienski <akrzemi1@gmail.com> wrote:
Certainly, there ways to make the output of optional configurable. I am not sure manipulators would be my preference. An alternative would be the approach that Boost.Date_time has adopted: you set your preference per stream (plus one global setting) by means of locale mechanism. However, when it comes to proposing stuff in front of the ISO committee, there is one other factor, which I failed to mention yet. It is the "fragility" of the process. I am concerned that if anything turns out to be controversial, the whole Optional would be at risk of being rejected. This might be an exaggeration (I have never gone through the process of proposing something and then pushing it through), but Optional has already been proposed by Fernando (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1878.htm) and rejected; primarily for two things: operators -> and * and the semantics for optional reference assignment (see http://lists.boost.org/Archives/boost/2005/10/95079.php). I would much like to avoid the situation where Optional (which I believe is very useful to wide variety of programmers) would be rejected because of one additional, however tiny, controversy of streaming operator.
I think the safe option is to not include it. Same for references. What's the problem with the ptr interface? Seems fine with me. -- Olaf