...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::make_recursive_variant_over — Exposes a recursive variant
whose bounded types
are the elements of the given type sequence.
// In header: <boost/variant/recursive_variant.hpp> template<typename Sequence> class make_recursive_variant_over { public: // types typedef variant< unspecified > type; };
type
has behavior equivalent in every respect to
make_recursive_variant< Sequence[0], Sequence[1], ... >::type
(where Sequence[i]
denotes the
i-th element of Sequence
), except
that no upper limit is imposed on the number of types.
Notes:
Sequence
must meet the requirements of
MPL's Sequence
concept.make_recursive_variant_over
may not be supported on
your compiler. See
BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT
for more information.