Function any_cast
boost::type_erasure::any_cast
 
Synopsis
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);
Description
Попытки извлечь объект, который держит<arg>. В случае, если не удается выполнить задание,<any_cast>возвращает нулевой указатель. Кастинг на<void*>всегда успевает и возвращает адрес хранимого объекта.
any<mpl::vector<typeid_<>, copy_constructible<> > > x(1);
any_cast<int>(x);      
any_cast<int&>(x);     
any_cast<double>(x);   
any_cast<int*>(&x);    
any_cast<void*>(&x);   
any_cast<double*>(&x); 
| Требуется: | Если<arg>является указателем,<T>должен быть указателем типа. <Concept>должен содержать typeid_<>. | 
| Броски: | bad_any_cast, если< arg>не содержит объект типа<T>и мы отбрасываем на значение или ссылку. |