#include <boost/assert.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/inc.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
#include <boost/preprocessor/repetition/enum_trailing.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
#include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
#include <boost/type_erasure/detail/access.hpp>
#include <boost/type_erasure/detail/adapt_to_vtable.hpp>
#include <boost/type_erasure/detail/extract_concept.hpp>
#include <boost/type_erasure/detail/get_signature.hpp>
#include <boost/type_erasure/detail/check_call.hpp>
#include <boost/type_erasure/is_placeholder.hpp>
#include <boost/type_erasure/concept_of.hpp>
#include <boost/type_erasure/config.hpp>
#include <boost/type_erasure/require_match.hpp>
Classes | |
singleton | boost::type_erasure::any< Concept, T > |
The class template any can store any object that models a specific . More... | |
singleton | boost::type_erasure::binding< Concept > |
Stores the binding of a Concept to a set of actual types. More... | |
struct | boost::type_erasure::detail::is_placeholder_arg< T > |
struct | boost::type_erasure::detail::call_impl< Sig, Args, Concept, Check > |
struct | boost::type_erasure::detail::call_result< Op, Args, Concept > |
struct | boost::type_erasure::detail::call_result< ::boost::type_erasure::binding< C1 >, Args, Concept > |
struct | boost::type_erasure::detail::call_impl_dispatch< Sig, Args, Concept, ReturnsAny > |
struct | boost::type_erasure::detail::call_impl_dispatch< R(T...), void(U...), Concept, false > |
struct | boost::type_erasure::detail::call_impl_dispatch< R(T...), void(U...), Concept, true > |
struct | boost::type_erasure::detail::call_impl< R(T...), void(U...), Concept, true > |
struct | boost::type_erasure::detail::call_impl< R(T...), void(U...), void, true > |
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::type_erasure | |
boost::type_erasure::detail | |
Functions | |
template<class T , class Table > | |
int | boost::type_erasure::detail::maybe_get_table (const T &arg, const Table *&table, boost::mpl::true_) |
template<class T , class Table > | |
int | boost::type_erasure::detail::maybe_get_table (const T &, const Table *&, boost::mpl::false_) |
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... T> | |
void | boost::type_erasure::detail::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 > * | boost::type_erasure::detail::extract_table (R(*)(T...), const U &...arg) |
template<class Concept , class Op , class... U> | |
typename::boost::type_erasure::detail::call_result < Op, void(U &&...), Concept > ::type | boost::type_erasure::unchecked_call (const ::boost::type_erasure::binding< Concept > &table, const Op &, U &&...arg) |
template<class Concept , class Op , class... U> | |
typename::boost::type_erasure::detail::call_result < Op, void(U &&...), Concept > ::type | boost::type_erasure::call (const ::boost::type_erasure::binding< Concept > &table, const Op &f, U &&...arg) |
template<class Op , class... U> | |
typename::boost::type_erasure::detail::call_result < Op, void(U &&...)>::type | boost::type_erasure::unchecked_call (const Op &, U &&...arg) |
template<class Op , class... U> | |
typename::boost::type_erasure::detail::call_result < Op, void(U &&...)>::type | boost::type_erasure::call (const Op &f, U &&...arg) |