libstdc++
Type-safe container of any type
Collaboration diagram for Type-safe container of any type:

Classes

class  std::experimental::fundamentals_v1::any
 A type-safe container of any type. More...
class  std::experimental::fundamentals_v1::bad_any_cast
 Exception class thrown by a failed any_cast. More...

Defines

#define __cpp_lib_experimental_any

Functions

void std::experimental::fundamentals_v1::__throw_bad_any_cast ()
static void std::experimental::fundamentals_v1::any::_Manager_internal< _Tp >::_S_manage (_Op __which, const any *__anyp, _Arg *__arg)
static void std::experimental::fundamentals_v1::any::_Manager_external< _Tp >::_S_manage (_Op __which, const any *__anyp, _Arg *__arg)
template<typename _ValueType >
_ValueType std::experimental::fundamentals_v1::any_cast (const any &__any)
void std::experimental::fundamentals_v1::swap (any &__x, any &__y) noexcept
template<typename _ValueType >
_ValueType std::experimental::fundamentals_v1::any_cast (any &__any)
template<typename _ValueType >
_ValueType std::experimental::fundamentals_v1::any_cast (any &&__any)
template<typename _ValueType >
const _ValueType * std::experimental::fundamentals_v1::any_cast (const any *__any) noexcept
template<typename _ValueType >
_ValueType * std::experimental::fundamentals_v1::any_cast (any *__any) noexcept

Detailed Description

A type-safe container for single values of value types, as described in n3804 "Any Library Proposal (Revision 3)".


Function Documentation

template<typename _ValueType >
_ValueType std::experimental::fundamentals_v1::any_cast ( const any &  __any) [inline]

Access the contained object.

Template Parameters:
_ValueTypeA const-reference or CopyConstructible type.
Parameters:
__anyThe object to access.
Returns:
The contained object.
Exceptions:
bad_any_castIf __any.type() != typeid(remove_reference_t<_ValueType>)

Definition at line 304 of file any.

Referenced by std::experimental::fundamentals_v1::any_cast().

template<typename _ValueType >
_ValueType std::experimental::fundamentals_v1::any_cast ( any &  __any) [inline]

Access the contained object.

Template Parameters:
_ValueTypeA reference or CopyConstructible type.
Parameters:
__anyThe object to access.
Returns:
The contained object.
Exceptions:
bad_any_castIf __any.type() != typeid(remove_reference_t<_ValueType>)

Definition at line 327 of file any.

References std::experimental::fundamentals_v1::any_cast().

template<typename _ValueType >
_ValueType std::experimental::fundamentals_v1::any_cast ( any &&  __any) [inline]

Access the contained object.

Template Parameters:
_ValueTypeA reference or CopyConstructible type.
Parameters:
__anyThe object to access.
Returns:
The contained object.
Exceptions:
bad_any_castIf __any.type() != typeid(remove_reference_t<_ValueType>)

Definition at line 338 of file any.

References std::experimental::fundamentals_v1::any_cast().

template<typename _ValueType >
const _ValueType* std::experimental::fundamentals_v1::any_cast ( const any *  __any) [inline]

Access the contained object.

Template Parameters:
_ValueTypeThe type of the contained object.
Parameters:
__anyA pointer to the object to access.
Returns:
The address of the contained object if __any != nullptr && __any.type() == typeid(_ValueType) , otherwise a null pointer.

Definition at line 361 of file any.

template<typename _ValueType >
_ValueType* std::experimental::fundamentals_v1::any_cast ( any *  __any) [inline]

Access the contained object.

Template Parameters:
_ValueTypeThe type of the contained object.
Parameters:
__anyA pointer to the object to access.
Returns:
The address of the contained object if __any != nullptr && __any.type() == typeid(_ValueType) , otherwise a null pointer.

Definition at line 369 of file any.

void std::experimental::fundamentals_v1::swap ( any &  __x,
any &  __y 
) [inline]

Exchange the states of two any objects.

Definition at line 291 of file any.