Implementation of misc::generic_variant.
More...
#include <boost/variant/get.hpp>
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
#include <boost/preprocessor/punctuation/comma.hpp>
#include <misc/generic-variant.hh>
Go to the source code of this file.
Namespaces |
namespace | misc |
| Handling of generic, oriented or undirected, graph.
|
Detailed Description
Macro Definition Documentation
#define MISC_GENERIC_VARIANT_CONST_CONVERSION_OPERATOR_DEF |
( |
|
z, |
|
|
|
N, |
|
|
|
T |
|
) |
| |
Value:template <MISC_GENERIC_VARIANT_PARAMS> \
MISC_GENERIC_VARIANT_TYPE::operator const BOOST_PP_CAT(T,N) & () const \
{ \
return boost::get<BOOST_PP_CAT(T,N)>(*this); \
}
#define MISC_GENERIC_VARIANT_CONVERSION_OPERATOR_DEF |
( |
|
z, |
|
|
|
N, |
|
|
|
T |
|
) |
| |
Value:template <MISC_GENERIC_VARIANT_PARAMS> \
MISC_GENERIC_VARIANT_TYPE::operator BOOST_PP_CAT(T,N) & () \
{ \
return boost::get<BOOST_PP_CAT(T,N)>(*this); \
}
Conversion operators generators (definitions).
#define MISC_GENERIC_VARIANT_PARAMS typename T0_ BOOST_PP_COMMA() BOOST_VARIANT_ENUM_SHIFTED_PARAMS(typename T) |
#define MISC_GENERIC_VARIANT_TYPE generic_variant<T0_ BOOST_PP_COMMA() BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)> |