Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
typeof_impl.hpp File Reference
Include dependency graph for typeof_impl.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::type_of::sizer< T >
 
struct  boost::type_of::decode_begin< V >
 
struct  boost::type_of::offset_vector< V, Offset >
 
struct  boost::type_of::push_back< boost::type_of::offset_vector< V, Offset >, T >
 
struct  boost::type_of::push_back< boost::type_of::offset_vector< V, mpl::size_t< 0 > >, T >
 

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 &)
 

Macro Definition Documentation

#define BOOST_TYPEOF (   Expr)    boost::type_of::decode_begin<BOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type
#define BOOST_TYPEOF_ENCODED_VECTOR (   Expr)
Value:
>
#define BOOST_TYPEOF_TYPEITEM(z, n, expr)
Definition: typeof_impl.hpp:62
#define BOOST_TYPEOF_LIMIT_SIZE
Definition: vector.hpp:15
#define BOOST_TYPEOF_VECTOR(n)
Definition: typeof_impl.hpp:16
#define BOOST_PP_ENUM
Definition: enum.hpp:32
#define BOOST_TYPEOF_FRACTIONTYPE ( )    typedef _typeof_encode_fraction<self_t::iteration> fraction_type;
#define BOOST_TYPEOF_NESTED_TYPEDEF (   name,
  expr 
)
Value:
struct name {\
};
#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)
Definition: typeof_impl.hpp:141
const int name
Definition: gzip.hpp:94
Definition: encode_decode.hpp:54
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL (   expr)
Value:
template<int _Typeof_Iteration>\
struct _typeof_encode_fraction {\
typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
};\
template<typename Pos>\
struct _typeof_fraction_iter {\
typedef _typeof_fraction_iter<Pos> self_t;\
typedef typename boost::type_of::v_iter<fraction_type,boost::mpl::int_<self_t::where> >::type type;\
typedef _typeof_fraction_iter<typename Pos::next> next;\
};
#define BOOST_PP_REPEAT
Definition: repeat.hpp:29
#define BOOST_TYPEOF_LIMIT_SIZE
Definition: vector.hpp:15
#define BOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr)
Definition: typeof_impl.hpp:93
void next(auto_any_t cur, type2type< T, C > *)
Definition: foreach.hpp:751
Definition: typeof_impl.hpp:79
typed_value< T > * value()
Creates a typed_value instance.
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_TYPEOF_FRACTIONTYPE()
Definition: typeof_impl.hpp:105
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL (   name,
  expr 
)
Value:
struct name {\
};
#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)
Definition: typeof_impl.hpp:141
const int name
Definition: gzip.hpp:94
Definition: encode_decode.hpp:54
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_TYPEOF_NESTED_TYPEITEM (   z,
  n,
  expr 
)
Value:
BOOST_STATIC_CONSTANT(int,BOOST_PP_CAT(value,n) = sizeof(boost::type_of::encode<_typeof_start_vector>(expr).item ## n));\
typedef boost::mpl::size_t<BOOST_PP_CAT(self_t::value,n)> BOOST_PP_CAT(item,n);
#define n
Definition: register_functions_iterate.hpp:7
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
typed_value< T > * value()
Creates a typed_value instance.
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
#define BOOST_TYPEOF_sizer_item (   z,
  n,
 
)    char item ## n[V::item ## n ::value];
#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)