This is the C++ template metaprogramming equivalent of Haskell's Maybe monoid.
<mpllibs/metamonad/maybe.hpp>maybe_tag<T> where T is the tag of the value wrapped by just.mempty: nothingmappend:
nothing, the result is nothingnothing, the result is the other argumentnothing, the two values wrapped by just get merged by using mappend on the monoid formed by T values. The result of this gets wrapped by just.Copyright Abel Sinkovics (abel at elte dot hu) 2011. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt