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

Classes

class  std::experimental::fundamentals_v1::any
 
class  std::experimental::fundamentals_v1::bad_any_cast
 

Macros

#define __cpp_lib_experimental_any
 

Functions

static void std::experimental::fundamentals_v1::any::_Manager_external< _Tp >::_S_manage (_Op __which, const any *__anyp, _Arg *__arg)
 
static void std::experimental::fundamentals_v1::any::_Manager_internal< _Tp >::_S_manage (_Op __which, const any *__anyp, _Arg *__arg)
 
template<typename _ValueType>
_ValueType std::experimental::any_cast (const any &__any)
 
void std::experimental::swap (any &__x, any &__y) noexcept
 
template<typename _ValueType>
_ValueType std::experimental::any_cast (any &__any)
 
template<typename _ValueType, typename enable_if<!is_move_constructible< _ValueType >::value||is_lvalue_reference< _ValueType >::value, bool >::type = true>
_ValueType std::experimental::any_cast (any &&__any)
 
template<typename _ValueType>
const _ValueType * std::experimental::any_cast (const any *__any) noexcept
 
template<typename _ValueType>
_ValueType * std::experimental::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)".

Macro Definition Documentation

◆ __cpp_lib_experimental_any

#define __cpp_lib_experimental_any

Definition at line 65 of file experimental/any.

Function Documentation

◆ _S_manage() [1/2]

template<typename _Tp>
void std::experimental::fundamentals_v1::any::_Manager_external< _Tp >::_S_manage ( _Op __which,
const any * __anyp,
_Arg * __arg )
static

Definition at line 524 of file experimental/any.

◆ _S_manage() [2/2]

template<typename _Tp>
void std::experimental::fundamentals_v1::any::_Manager_internal< _Tp >::_S_manage ( _Op __which,
const any * __anyp,
_Arg * __arg )
static

Definition at line 490 of file experimental/any.

◆ any_cast() [1/5]

template<typename _ValueType, typename enable_if<!is_move_constructible< _ValueType >::value||is_lvalue_reference< _ValueType >::value, bool >::type = true>
_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 396 of file experimental/any.

◆ any_cast() [2/5]

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 382 of file experimental/any.

◆ any_cast() [3/5]

template<typename _ValueType>
_ValueType * std::experimental::fundamentals_v1::any_cast ( any * __any)
inlinenoexcept

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 480 of file experimental/any.

◆ any_cast() [4/5]

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 359 of file experimental/any.

◆ any_cast() [5/5]

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

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 472 of file experimental/any.

◆ swap()

void std::experimental::fundamentals_v1::swap ( any & __x,
any & __y )
inlinenoexcept

Exchange the states of two any objects.

Definition at line 346 of file experimental/any.