
Andrei Alexandrescu wrote:
Hello,
I'm defining an "optional" type for D's standard library modeled similarly to Boost.optional. An interesting question came up - should optional<optional<T>> fold itself into optional<T>, or is "double optional" an interesting concept of its own?
I thought I'd ask here because by now there's a significant body of experience with optional<T>. I perused the online documentation and the forum and couldn't find information about that specific detail.
We use boost.optional extensively in Boost.Spirit. IIRC, we collapse such things. Usually they occur in generic code. I see no real need for optional<optional<T>>. If there's a use for it, I too would like to hear it. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net