Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::type_erasure::detail Namespace Reference

Classes

struct  call_impl
 
struct  call_impl< R(T...), void(U...), Concept, true >
 
struct  call_impl< R(T...), void(U...), void, true >
 
struct  call_impl_dispatch
 
struct  call_impl_dispatch< R(T...), void(U...), Concept, false >
 
struct  call_impl_dispatch< R(T...), void(U...), Concept, true >
 
struct  call_result
 
struct  call_result< ::boost::type_erasure::binding< C1 >, Args, Concept >
 
struct  can_optimize_conversion
 
struct  compute_bases
 
struct  cons_advance
 
struct  cons_advance< 0, Cons >
 
struct  fallback
 
struct  first_placeholder
 
struct  first_placeholder< T0, T...>
 
struct  first_placeholder<>
 
struct  first_placeholder_index
 
struct  first_placeholder_index< T0, T...>
 
struct  get_null_vtable_entry
 
struct  get_null_vtable_entry< ::boost::type_erasure::destructible< T > >
 
struct  get_null_vtable_entry< ::boost::type_erasure::typeid_< T > >
 
struct  get_null_vtable_entry< vtable_adapter< constructible< T(const T &)>, R(U...)> >
 
struct  is_any
 
struct  is_any< any< Concept, T > >
 
struct  is_placeholder_arg
 
struct  is_relaxed_impl
 
struct  is_subconcept_impl
 
struct  iterator_value_type_impl
 
struct  make_index_list
 
struct  make_index_list< 0 >
 
struct  make_map
 
struct  make_map< T0, T...>
 
struct  make_map<>
 
struct  null_construct
 
struct  null_construct< void(T...)>
 
struct  null_destroy
 
struct  placeholder_conversion
 
struct  placeholder_conversion< const T &, const T & >
 
struct  placeholder_conversion< const T &, T >
 
struct  placeholder_conversion< const T, const T & >
 
struct  placeholder_conversion< const T, T >
 
struct  placeholder_conversion< T &&, const T & >
 
struct  placeholder_conversion< T &&, T && >
 
struct  placeholder_conversion< T &&, T >
 
struct  placeholder_conversion< T &, const T & >
 
struct  placeholder_conversion< T &, T & >
 
struct  placeholder_conversion< T &, T >
 
struct  placeholder_conversion< T, const T & >
 
struct  placeholder_conversion< T, T & >
 
struct  placeholder_conversion< T, T >
 
struct  push_back_index
 
struct  push_back_index< index_list< N...>, X >
 
struct  result_of_callable
 
struct  result_of_callable< This(T...)>
 
struct  should_check
 
struct  transform_free_signature
 
struct  vtable_adapter
 
struct  yes
 

Typedefs

typedef char no
 

Functions

template<class T >
T make (T *)
 
template<class Op >
yes check_overload (const Op *)
 
no check_overload (const void *)
 
template<class T >
fallback make_fallback (const T &, boost::mpl::false_)
 
template<class T >
const Tmake_fallback (const T &arg, boost::mpl::true_)
 
template<class Concept , class T >
void * get_pointer (::boost::type_erasure::any< Concept, T > &arg)
 
template<class Concept , class T >
const void * get_pointer (const ::boost::type_erasure::any< Concept, T > &arg)
 
template<class Concept , class T >
void * get_pointer (::boost::type_erasure::any< Concept, T & > &arg)
 
template<class Concept , class T >
void * get_pointer (const ::boost::type_erasure::any< Concept, T & > &arg)
 
template<class Concept , class T >
const void * get_pointer (::boost::type_erasure::any< Concept, const T & > &arg)
 
template<class Concept , class T >
const void * get_pointer (const ::boost::type_erasure::any< Concept, const T & > &arg)
 
template<class T , class Concept , class Tag >
bool check_any_cast (const any< Concept, Tag > &,::boost::mpl::true_)
 
template<class T , class Concept , class Tag >
bool check_any_cast (const any< Concept, Tag > &arg,::boost::mpl::false_)
 
template<class T , class Concept , class Tag >
bool check_any_cast (const any< Concept, Tag > &arg)
 
template<class T , class Table >
int maybe_get_table (const T &arg, const Table *&table, boost::mpl::true_)
 
template<class T , class Table >
int maybe_get_table (const T &, const Table *&, boost::mpl::false_)
 
template<class T >
::boost::type_erasure::detail::storage & convert_arg (any_base< T > &arg, boost::mpl::true_)
 
template<class Concept , class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (any_base< any< Concept, const T & > > &arg, boost::mpl::true_)
 
template<class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (const any_base< T > &arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage & convert_arg (const any_base< any< Concept, T & > > &arg, boost::mpl::true_)
 
template<class Concept , class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (const any_base< any< Concept, const T & > > &arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage & convert_arg (param< Concept, T > &arg, boost::mpl::true_)
 
template<class Concept , class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (param< Concept, const T & > &arg, boost::mpl::true_)
 
template<class Concept , class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (const param< Concept, T > &arg, boost::mpl::true_)
 
template<class Concept , class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (any_base< any< Concept, const T & > > &&arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage & convert_arg (any_base< any< Concept, T & > > &&arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage && convert_arg (any_base< any< Concept, T > > &&arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage && convert_arg (any_base< any< Concept, T && > > &arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage && convert_arg (const any_base< any< Concept, T && > > &arg, boost::mpl::true_)
 
template<class Concept , class T >
const
::boost::type_erasure::detail::storage & 
convert_arg (param< Concept, const T & > &&arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage & convert_arg (param< Concept, T & > &&arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage && convert_arg (param< Concept, T > &&arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage && convert_arg (param< Concept, T && > &arg, boost::mpl::true_)
 
template<class Concept , class T >
::boost::type_erasure::detail::storage && convert_arg (const param< Concept, T && > &arg, boost::mpl::true_)
 
template<class T >
T && convert_arg (T &&arg, boost::mpl::false_)
 
template<class... T>
void ignore (const T &...)
 
template<class R , class... T, class... U>
const
::boost::type_erasure::binding
< typename::boost::type_erasure::detail::extract_concept
< void(T...), U...>::type > * 
extract_table (R(*)(T...), const U &...arg)
 
template<class P , class T , class Table >
bool maybe_check_table (const T &arg, const Table *&table, boost::mpl::true_)
 
template<class P , class T , class Table >
bool maybe_check_table (const T &, const Table *&, boost::mpl::false_)
 
template<class Concept >
bool check_table (const ::boost::type_erasure::binding< Concept > *t, void(*)())
 
template<class Concept , class R , class T0 , class... T, class U0 , class... U>
bool check_table (const ::boost::type_erasure::binding< Concept > *t, R(*)(T0, T...), const U0 &arg0, const U &...arg)
 
template<class F , class T , class U >
bool less_impl (const F &f, const T &lhs, const U &rhs,::boost::mpl::true_)
 
template<class F , class T , class U >
bool less_impl (const F &f, const T &lhs, const U &rhs,::boost::mpl::false_)
 
template<class Concept , class Op , class... U>
void require_match_impl (::boost::mpl::true_, const ::boost::type_erasure::binding< Concept > &table, const Op &op, U &&...arg)
 
template<class Concept , class Op , class... U>
void require_match_impl (::boost::mpl::false_, const ::boost::type_erasure::binding< Concept > &, const Op &, U &&...)
 
template<class Op , class... U>
void require_match_impl (::boost::mpl::true_, const Op &op, U &&...arg)
 
template<class Op , class... U>
void require_match_impl (::boost::mpl::false_, const Op &, U &&...)
 

Typedef Documentation

Function Documentation

template<class T , class Concept , class Tag >
bool boost::type_erasure::detail::check_any_cast ( const any< Concept, Tag > &  ,
::boost::mpl::true_   
)
template<class T , class Concept , class Tag >
bool boost::type_erasure::detail::check_any_cast ( const any< Concept, Tag > &  arg,
::boost::mpl::false_   
)
template<class T , class Concept , class Tag >
bool boost::type_erasure::detail::check_any_cast ( const any< Concept, Tag > &  arg)

References T, and boost::detail::type.

template<class Op >
yes boost::type_erasure::detail::check_overload ( const Op *  )
no boost::type_erasure::detail::check_overload ( const void *  )
template<class Concept >
bool boost::type_erasure::detail::check_table ( const ::boost::type_erasure::binding< Concept > *  t,
void(*)()   
)

Referenced by check_table().

template<class Concept , class R , class T0 , class... T, class U0 , class... U>
bool boost::type_erasure::detail::check_table ( const ::boost::type_erasure::binding< Concept > *  t,
R(*)(T0, T...)  ,
const U0 &  arg0,
const U &...  arg 
)
template<class T >
::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( any_base< T > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( any_base< any< Concept, const T & > > &  arg,
boost::mpl::true_   
)
template<class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( const any_base< T > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( const any_base< any< Concept, T & > > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( const any_base< any< Concept, const T & > > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( param< Concept, T > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( param< Concept, const T & > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( const param< Concept, T > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( any_base< any< Concept, const T & > > &&  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( any_base< any< Concept, T & > > &&  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage&& boost::type_erasure::detail::convert_arg ( any_base< any< Concept, T > > &&  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage&& boost::type_erasure::detail::convert_arg ( any_base< any< Concept, T && > > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage&& boost::type_erasure::detail::convert_arg ( const any_base< any< Concept, T && > > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
const ::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( param< Concept, const T & > &&  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage& boost::type_erasure::detail::convert_arg ( param< Concept, T & > &&  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage&& boost::type_erasure::detail::convert_arg ( param< Concept, T > &&  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage&& boost::type_erasure::detail::convert_arg ( param< Concept, T && > &  arg,
boost::mpl::true_   
)
template<class Concept , class T >
::boost::type_erasure::detail::storage&& boost::type_erasure::detail::convert_arg ( const param< Concept, T && > &  arg,
boost::mpl::true_   
)
template<class T >
T&& boost::type_erasure::detail::convert_arg ( T &&  arg,
boost::mpl::false_   
)
template<class R , class... T, class... U>
const ::boost::type_erasure::binding< typename ::boost::type_erasure::detail::extract_concept<void(T...), U...>::type>* boost::type_erasure::detail::extract_table ( R(*)(T...)  ,
const U &...  arg 
)
template<class Concept , class T >
void* boost::type_erasure::detail::get_pointer ( ::boost::type_erasure::any< Concept, T > &  arg)
template<class Concept , class T >
const void* boost::type_erasure::detail::get_pointer ( const ::boost::type_erasure::any< Concept, T > &  arg)
template<class Concept , class T >
void* boost::type_erasure::detail::get_pointer ( ::boost::type_erasure::any< Concept, T & > &  arg)
template<class Concept , class T >
void* boost::type_erasure::detail::get_pointer ( const ::boost::type_erasure::any< Concept, T & > &  arg)
template<class Concept , class T >
const void* boost::type_erasure::detail::get_pointer ( ::boost::type_erasure::any< Concept, const T & > &  arg)
template<class Concept , class T >
const void* boost::type_erasure::detail::get_pointer ( const ::boost::type_erasure::any< Concept, const T & > &  arg)
template<class... T>
void boost::type_erasure::detail::ignore ( const T ...)

Referenced by extract_table().

template<class F , class T , class U >
bool boost::type_erasure::detail::less_impl ( const F &  f,
const T lhs,
const U &  rhs,
::boost::mpl::true_   
)
template<class F , class T , class U >
bool boost::type_erasure::detail::less_impl ( const F &  f,
const T lhs,
const U &  rhs,
::boost::mpl::false_   
)
template<class T >
T boost::type_erasure::detail::make ( T )

References T.

template<class T >
fallback boost::type_erasure::detail::make_fallback ( const T ,
boost::mpl::false_   
)
template<class T >
const T& boost::type_erasure::detail::make_fallback ( const T arg,
boost::mpl::true_   
)
template<class P , class T , class Table >
bool boost::type_erasure::detail::maybe_check_table ( const T arg,
const Table *&  table,
boost::mpl::true_   
)
template<class P , class T , class Table >
bool boost::type_erasure::detail::maybe_check_table ( const T ,
const Table *&  ,
boost::mpl::false_   
)
template<class T , class Table >
int boost::type_erasure::detail::maybe_get_table ( const T arg,
const Table *&  table,
boost::mpl::true_   
)

Referenced by extract_table().

template<class T , class Table >
int boost::type_erasure::detail::maybe_get_table ( const T ,
const Table *&  ,
boost::mpl::false_   
)
template<class Concept , class Op , class... U>
void boost::type_erasure::detail::require_match_impl ( ::boost::mpl::true_  ,
const ::boost::type_erasure::binding< Concept > &  table,
const Op &  op,
U &&...  arg 
)
template<class Concept , class Op , class... U>
void boost::type_erasure::detail::require_match_impl ( ::boost::mpl::false_  ,
const ::boost::type_erasure::binding< Concept > &  ,
const Op &  ,
U &&  ... 
)
template<class Op , class... U>
void boost::type_erasure::detail::require_match_impl ( ::boost::mpl::true_  ,
const Op &  op,
U &&...  arg 
)
template<class Op , class... U>
void boost::type_erasure::detail::require_match_impl ( ::boost::mpl::false_  ,
const Op &  ,
U &&  ... 
)