Boost logo

Boost :

Subject: [boost] variant2 - really dumb way off topic question here
From: Robert Ramey (ramey_at_[hidden])
Date: 2019-02-22 22:47:15


On 2/22/19 9:48 AM, Peter Dimov via Boost wrote:
> I'd like to request a formal Boost review for the Variant2 library,
> https://github.com/pdimov/variant2. Variant2 contains an implementation
> of a
> variant<T...> type that is an almost conforming std::variant, except it
> doesn't require C++17 and supports C++11 and above.
>
> It's also never valueless and has a few other extensions.

I see optional, expected, outcome and .. (monad?) as just special cases
of variant. for example

template<typename T>
using optional = variant<false_type, T>;

Why is it necessary to have all these type implemented? Can't there be
some sort of "base" type which can be used to implement all these others?

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk