Namespaces | |
detail | |
Functions | |
template<class T , class Concept , class Tag > | |
T | any_cast (any< Concept, Tag > &arg) |
Attempts to extract the object that arg holds. More... | |
template<class T , class Concept , class Tag > | |
T | any_cast (const any< Concept, Tag > &arg) |
template<class T , class Concept , class Tag > | |
T | any_cast (any< Concept, Tag > *arg) |
template<class T , class Concept , class Tag > | |
T | any_cast (const any< Concept, Tag > *arg) |
template<class Concept , class T > | |
const binding< Concept > & | binding_of (const any< Concept, T > &arg) |
template<class Concept , class Op , class... U> | |
typename::boost::type_erasure::detail::call_result < Op, void(U &&...), Concept > ::type | 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 | 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 | unchecked_call (const Op &, U &&...arg) |
template<class Op , class... U> | |
typename::boost::type_erasure::detail::call_result < Op, void(U &&...)>::type | call (const Op &f, U &&...arg) |
template<class Concept , class Op , class... U> | |
bool | check_match (const ::boost::type_erasure::binding< Concept > &table, const Op &, U &&...arg) |
template<class Op , class... U> | |
bool | check_match (const Op &, U &&...arg) |
template<class T > | |
bool | is_empty (const T &arg) |
Returns true for an empty any. More... | |
template<class Concept , class Op , class... U> | |
void | require_match (const ::boost::type_erasure::binding< Concept > &table, const Op &op, U &&...arg) |
template<class Op , class... U> | |
void | require_match (const Op &op, U &&...arg) |
template<class Map > | |
static_binding< Map > | make_binding () |
A convenience function to prevent constructor calls from being parsed as function declarations. More... | |
template<int N, class Concept , class... T> | |
typename::boost::type_erasure::detail::cons_advance < N,::boost::type_erasure::cons < Concept, T...> >::type::value_type & | get (::boost::type_erasure::tuple< Concept, T...> &t) |
template<int N, class Concept , class... T> | |
const ::boost::type_erasure::detail::cons_advance < N,::boost::type_erasure::cons < Concept, T...> >::type::value_type & | get (const ::boost::type_erasure::tuple< Concept, T...> &t) |
template<class Concept , class T > | |
const std::type_info & | typeid_of (const any< Concept, T > &arg) |
The first form returns the type currently stored in an any. More... | |
template<class Concept , class T > | |
const std::type_info & | typeid_of (const param< Concept, T > &arg) |
template<class T , class Concept > | |
const std::type_info & | typeid_of (const binding< Concept > &binding_arg) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
T boost::type_erasure::any_cast | ( | any< Concept, Tag > & | arg | ) |
Attempts to extract the object that arg
holds.
If casting to a pointer fails, returns a null pointer. Casting to void*
always succeeds and returns the address of stored object.
arg
is a pointer, T
must be a pointer type. Concept
must contain typeid_
<Tag>.bad_any_cast | if arg doesn't contain an object of type T and we're casting to a value or reference. |
References BOOST_THROW_EXCEPTION, boost::type_erasure::detail::get_pointer(), and boost::detail::type.
T boost::type_erasure::any_cast | ( | const any< Concept, Tag > & | arg | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
References BOOST_THROW_EXCEPTION, boost::type_erasure::detail::get_pointer(), and boost::detail::type.
T boost::type_erasure::any_cast | ( | any< Concept, Tag > * | arg | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
References BOOST_MPL_ASSERT, boost::type_erasure::detail::check_any_cast(), boost::type_erasure::detail::get_pointer(), and boost::detail::type.
T boost::type_erasure::any_cast | ( | const any< Concept, Tag > * | arg | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
References BOOST_MPL_ASSERT, boost::type_erasure::detail::check_any_cast(), boost::type_erasure::detail::get_pointer(), and boost::detail::type.
const binding<Concept>& boost::type_erasure::binding_of | ( | const any< Concept, T > & | arg | ) |
Nothing. |
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 | ||
) |
References require_match(), and unchecked_call().
Referenced by get().
typename ::boost::type_erasure::detail::call_result< Op, void(U&&...)>::type boost::type_erasure::call | ( | const Op & | f, |
U &&... | arg | ||
) |
References require_match(), and unchecked_call().
bool boost::type_erasure::check_match | ( | const ::boost::type_erasure::binding< Concept > & | table, |
const Op & | , | ||
U &&... | arg | ||
) |
References boost::type_erasure::detail::check_table(), and boost::detail::type.
Referenced by boost::type_erasure::detail::less_impl(), and boost::type_erasure::detail::require_match_impl().
bool boost::type_erasure::check_match | ( | const Op & | , |
U &&... | arg | ||
) |
typename ::boost::type_erasure::detail::cons_advance< N, ::boost::type_erasure::cons<Concept, T...>>::type::value_type& boost::type_erasure::get | ( | ::boost::type_erasure::tuple< Concept, T...> & | t | ) |
References call(), N, T, and boost::flyweights::t.
const ::boost::type_erasure::detail::cons_advance< N, ::boost::type_erasure::cons<Concept, T...>>::type::value_type& boost::type_erasure::get | ( | const ::boost::type_erasure::tuple< Concept, T...> & | t | ) |
References call(), N, T, and boost::flyweights::t.
bool boost::type_erasure::is_empty | ( | const T & | arg | ) |
Returns true for an empty any.
References boost::proto::envns_::data.
static_binding<Map> boost::type_erasure::make_binding | ( | ) |
A convenience function to prevent constructor calls from being parsed as function declarations.
void boost::type_erasure::require_match | ( | const ::boost::type_erasure::binding< Concept > & | table, |
const Op & | op, | ||
U &&... | arg | ||
) |
References boost::type_erasure::detail::require_match_impl().
Referenced by call().
void boost::type_erasure::require_match | ( | const Op & | op, |
U &&... | arg | ||
) |
References boost::type_erasure::detail::require_match_impl(), and boost::detail::type.
const std::type_info& boost::type_erasure::typeid_of | ( | const any< Concept, T > & | arg | ) |
The first form returns the type currently stored in an any.
The second form returns the type corresponding to a placeholder in binding
.
Concept
includes typeid_<T>. T
is a non-reference, CV-unqualified placeholder. References boost::algorithm::find(), and boost::detail::type.
Referenced by boost::type_erasure::detail::less_impl().
const std::type_info& boost::type_erasure::typeid_of | ( | const param< Concept, T > & | arg | ) |
References boost::algorithm::find(), and boost::detail::type.
const std::type_info& boost::type_erasure::typeid_of | ( | const binding< Concept > & | binding_arg | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
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 | ||
) |
References template, boost::detail::type, and boost::detail::void.
Referenced by boost::type_erasure::detail::less_impl().
typename ::boost::type_erasure::detail::call_result< Op, void(U&&...)>::type boost::type_erasure::unchecked_call | ( | const Op & | , |
U &&... | arg | ||
) |
References boost::type_erasure::detail::extract_table(), template, boost::detail::type, and boost::detail::void.
Referenced by call().