Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
call.hpp File Reference
#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>
Include dependency graph for call.hpp:
This graph shows which files directly or indirectly include this file:

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)