Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Class template make_recursive_variant_over

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 {
  // 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.


  • Sequence must meet the requirements of MPL's Sequence concept.
  • Due to standard conformance problems in several compilers, make_recursive_variant_over may not be supported on your compiler. See BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT for more information.