|  | Home | Libraries | People | FAQ | More | 
boost::type_erasure::any_cast
// In header: <boost/type_erasure/any_cast.hpp> template<typename T, typename Concept, typename Tag> T any_cast(any< Concept, Tag > & arg); template<typename T, typename Concept, typename Tag> T any_cast(const any< Concept, Tag > & arg); template<typename T, typename Concept, typename Tag> T any_cast(any< Concept, Tag > * arg); template<typename T, typename Concept, typename Tag> T any_cast(const any< Concept, Tag > * arg);
Attempts to extract the object that arg holds. If casting to a pointer fails, any_cast returns a null pointer. Casting to void* always succeeds and returns the address of stored object.
any<mpl::vector<typeid_<>, copy_constructible<> > > x(1); any_cast<int>(x); // returns 1 any_cast<int&>(x); // returns a reference to the contents of x any_cast<double>(x); // throws bad_any_cast any_cast<int*>(&x); // returns a pointer to the contents of x any_cast<void*>(&x); // returns a pointer to the contents of x any_cast<double*>(&x); // returns NULL
| Requires: | if  | 
| Requires: | 
 | 
| Throws: | bad_any_cast if argdoesn't contain an object of typeTand we're casting to a value or reference. |