Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
variant_fwd.hpp File Reference
#include "boost/variant/detail/config.hpp"
#include "boost/blank_fwd.hpp"
#include "boost/mpl/arg.hpp"
#include "boost/mpl/limits/arity.hpp"
#include "boost/mpl/aux_/na.hpp"
#include "boost/preprocessor/cat.hpp"
#include "boost/preprocessor/enum.hpp"
#include "boost/preprocessor/enum_params.hpp"
#include "boost/preprocessor/enum_shifted_params.hpp"
#include "boost/preprocessor/repeat.hpp"
#include "boost/variant/detail/substitute_fwd.hpp"
#include <boost/preprocessor/seq/size.hpp>
Include dependency graph for variant_fwd.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::detail::variant::convert_void< T >
 
struct  boost::detail::variant::convert_void< void_ >
 
singleton  boost::variant< T0_, >
 
struct  boost::make_recursive_variant<>
 
struct  boost::recursive_variant_
 
struct  boost::make_variant_over< Types >
 
struct  boost::make_recursive_variant_over< Types >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::detail
 
 boost::detail::variant
 

Macros

#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_class   class)(
 
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_typename   typename)(
 
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_VARIADIC_class   class...
 
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_VARIADIC_typename   typename...
 
#define ARGS_VARIADER_1(x)   x ## N...
 
#define ARGS_VARIADER_2(x)   BOOST_VARIANT_CLASS_OR_TYPENAME_TO_VARIADIC_ ## x ## N
 
#define BOOST_VARIANT_MAKE_VARIADIC(sequence, x)   BOOST_VARIANT_MAKE_VARIADIC_I(BOOST_PP_SEQ_SIZE(sequence), x)
 
#define BOOST_VARIANT_MAKE_VARIADIC_I(argscount, x)   BOOST_VARIANT_MAKE_VARIADIC_II(argscount, x)
 
#define BOOST_VARIANT_MAKE_VARIADIC_II(argscount, orig)   ARGS_VARIADER_ ## argscount(orig)
 
#define BOOST_VARIANT_ENUM_PARAMS(x)
 
#define BOOST_VARIANT_ENUM_SHIFTED_PARAMS(x)   BOOST_VARIANT_MAKE_VARIADIC( (BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_ ## x), x) \
 
#define BOOST_VARIANT_AUX_DECLARE_PARAMS   BOOST_VARIANT_ENUM_PARAMS(typename T)
 

Macro Definition Documentation

#define ARGS_VARIADER_1 (   x)    x ## N...
#define ARGS_VARIADER_2 (   x)    BOOST_VARIANT_CLASS_OR_TYPENAME_TO_VARIADIC_ ## x ## N
#define BOOST_VARIANT_AUX_DECLARE_PARAMS   BOOST_VARIANT_ENUM_PARAMS(typename T)
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_class   class)(
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_typename   typename)(
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_VARIADIC_class   class...
#define BOOST_VARIANT_CLASS_OR_TYPENAME_TO_VARIADIC_typename   typename...
#define BOOST_VARIANT_ENUM_PARAMS (   x)
Value:
x ## 0, \
BOOST_VARIANT_MAKE_VARIADIC( (BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_ ## x), x) \
Traits const flyweight< T, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5 > &x return out<< x.get();}template< BOOST_TEMPLATED_STREAM_COMMA typename T, typename Arg_1, typename Arg_2, typename Arg_3, typename Arg_4, typename Arg_5 > Traits flyweight< T, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5 > & x
Definition: flyweight.hpp:423
#define BOOST_VARIANT_MAKE_VARIADIC(sequence, x)
Definition: variant_fwd.hpp:99
#define BOOST_VARIANT_ENUM_SHIFTED_PARAMS (   x)    BOOST_VARIANT_MAKE_VARIADIC( (BOOST_VARIANT_CLASS_OR_TYPENAME_TO_SEQ_ ## x), x) \
#define BOOST_VARIANT_MAKE_VARIADIC (   sequence,
 
)    BOOST_VARIANT_MAKE_VARIADIC_I(BOOST_PP_SEQ_SIZE(sequence), x)
#define BOOST_VARIANT_MAKE_VARIADIC_I (   argscount,
 
)    BOOST_VARIANT_MAKE_VARIADIC_II(argscount, x)
#define BOOST_VARIANT_MAKE_VARIADIC_II (   argscount,
  orig 
)    ARGS_VARIADER_ ## argscount(orig)