#include <boost/mpl/size_t.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
#include <boost/typeof/encode_decode.hpp>
#include <boost/typeof/vector.hpp>
#include <boost/type_traits/is_function.hpp>
#include <boost/utility/enable_if.hpp>
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::type_of | |
Macros | |
#define | BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(boost::type_of::vector, n) |
#define | BOOST_TYPEOF_sizer_item(z, n, _) char item ## n[V::item ## n ::value]; |
#define | BOOST_TYPEOF_TYPEITEM(z, n, expr) boost::mpl::size_t<sizeof(boost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)> |
#define | BOOST_TYPEOF_ENCODED_VECTOR(Expr) |
#define | BOOST_TYPEOF(Expr) boost::type_of::decode_begin<BOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type |
#define | BOOST_TYPEOF_TPL typename BOOST_TYPEOF |
#define | BOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr) |
#define | BOOST_TYPEOF_FRACTIONTYPE() typedef _typeof_encode_fraction<self_t::iteration> fraction_type; |
#define | BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) |
#define | BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name, expr) |
#define | BOOST_TYPEOF_NESTED_TYPEDEF(name, expr) |
Functions | |
template<class V , class T > | |
enable_if< typename is_function< T >::type, sizer < typename encode_type< V, T > ::type > >::type | boost::type_of::encode (T &) |
template<class V , class T > | |
disable_if< typename is_function< T >::type, sizer < typename encode_type< V, T > ::type > >::type | boost::type_of::encode (const T &) |
#define BOOST_TYPEOF | ( | Expr | ) | boost::type_of::decode_begin<BOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type |
#define BOOST_TYPEOF_ENCODED_VECTOR | ( | Expr | ) |
#define BOOST_TYPEOF_FRACTIONTYPE | ( | ) | typedef _typeof_encode_fraction<self_t::iteration> fraction_type; |
#define BOOST_TYPEOF_NESTED_TYPEDEF | ( | name, | |
expr | |||
) |
#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL | ( | expr | ) |
#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL | ( | name, | |
expr | |||
) |
#define BOOST_TYPEOF_NESTED_TYPEITEM | ( | z, | |
n, | |||
expr | |||
) |
#define BOOST_TYPEOF_TPL typename BOOST_TYPEOF |
#define BOOST_TYPEOF_TYPEITEM | ( | z, | |
n, | |||
expr | |||
) | boost::mpl::size_t<sizeof(boost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)> |
#define BOOST_TYPEOF_VECTOR | ( | n | ) | BOOST_PP_CAT(boost::type_of::vector, n) |