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 <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/mpl/int.hpp>
#include <boost/type_traits/is_function.hpp>
#include <boost/utility/enable_if.hpp>
Include dependency graph for typeof_impl.hpp:

Classes

struct  boost::type_of::encode_counter< N >
 
struct  boost::type_of::encode_counter< 0 >
 
struct  boost::type_of::msvc_extract_type< ID >
 
struct  boost::type_of::msvc_register_type< T, ID >
 
struct  boost::type_of::msvc_register_type::base_type::id2type
 
struct  boost::type_of::msvc_typeid_wrapper< ID >
 
struct  boost::type_of::msvc_typeid_wrapper< 1 >
 
struct  boost::type_of::msvc_typeid_wrapper< 4 >
 
struct  boost::type_of::encode_type< T >
 
struct  boost::type_of::sizer< T >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::type_of
 

Macros

#define BOOST_TYPEOF_INDEX(T)   (sizeof(*boost::type_of::encode_index((boost::type_of::encode_counter<1005>*)0)))
 
#define BOOST_TYPEOF_NEXT_INDEX(next)   friend char (*encode_index(encode_counter<next>*))[next];
 
#define BOOST_TYPEOF(expr)   boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(expr))>::type
 
#define BOOST_TYPEOF_TPL(expr)   typename BOOST_TYPEOF(expr)
 
#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name, expr)
 
#define BOOST_TYPEOF_NESTED_TYPEDEF(name, expr)
 

Functions

char(* boost::type_of::encode_index (...))[1]
 
template<typename T >
sizer< T >::type boost::type_of::encode_start (T const &)
 
template<typename Organizer , typename T >
msvc_register_type< T, Organizer > boost::type_of::typeof_register_type (const T &, Organizer *=0)
 

Macro Definition Documentation

#define BOOST_TYPEOF (   expr)    boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(expr))>::type
#define BOOST_TYPEOF_INDEX (   T)    (sizeof(*boost::type_of::encode_index((boost::type_of::encode_counter<1005>*)0)))
#define BOOST_TYPEOF_NESTED_TYPEDEF (   name,
  expr 
)
Value:
struct name {\
BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
typedef id2type::type type;\
};
const int name
Definition: gzip.hpp:94
Definition: typeof_impl.hpp:30
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL (   name,
  expr 
)
Value:
struct name {\
BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
typedef typename id2type::type type;\
};
const int name
Definition: gzip.hpp:94
Definition: typeof_impl.hpp:30
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
#define BOOST_TYPEOF_NEXT_INDEX (   next)    friend char (*encode_index(encode_counter<next>*))[next];
#define BOOST_TYPEOF_TPL (   expr)    typename BOOST_TYPEOF(expr)