std::any Class Reference

## Public Member Functions

constexpr | any () noexcept
template<typename _Tp , typename _VTp = _Decay_if_not_any<_Tp>, typename _Mgr = _Manager<_VTp>, typename = _Require<__not_<__is_in_place_type<_VTp>>, is_copy_constructible<_VTp>>>
| any (_Tp &&__value)
| any (any &&__other) noexcept
| any (const any &__other)
template<typename _Tp , typename... _Args, typename _VTp = decay_t<_Tp>, typename _Mgr = _Manager<_VTp>, __any_constructible_t< _VTp, _Args &&... > = false>
| any (in_place_type_t< _Tp >, _Args &&... __args)
template<typename _Tp , typename _Up , typename... _Args, typename _VTp = decay_t<_Tp>, typename _Mgr = _Manager<_VTp>, __any_constructible_t< _VTp, initializer_list< _Up > &, _Args &&... > = false>
| any (in_place_type_t< _Tp >, initializer_list< _Up > __il, _Args &&... __args)
| ~any ()
template<typename _Tp , typename... _Args>
__emplace_t< decay_t< _Tp >, _Args... > | emplace (_Args &&... __args)
template<typename _Tp , typename _Up , typename... _Args>
__emplace_t< decay_t< _Tp >, initializer_list< _Up > &, _Args &&... > | emplace (initializer_list< _Up > __il, _Args &&... __args)
bool | has_value () const noexcept
template<typename _Tp >
enable_if_t< is_copy_constructible< _Decay_if_not_any< _Tp > >::value, any & > | operator= (_Tp &&__rhs)
any & | operator= (any &&__rhs) noexcept
any & | operator= (const any &__rhs)
void | reset () noexcept
void | swap (any &__rhs) noexcept
const type_info & | type () const noexcept

## Detailed Description

A type-safe container of any type.

An `any` object's state is either empty or it stores a contained object of CopyConstructible type.

Since
  C++17

Definition at line 79 of file any.

## Constructor & Destructor Documentation

## any() [1/6]

constexpr std::any::any | ( |  | ) |

inline constexpr noexcept

Default constructor, creates an empty object.

Definition at line 152 of file any.

## any() [2/6]

std::any::any | ( | const any & | __other | ) |

inline

Copy constructor, copies the state of `__other`.

Definition at line 155 of file any.

## any() [3/6]

std::any::any | ( | any && | __other | ) |

inline noexcept

Move constructor, transfer the state from `__other`.

Postcondition
  `!__other`.has_value() (this postcondition is a GNU extension)

Definition at line 172 of file any.

## any() [4/6]

template<typename _Tp , typename _VTp = _Decay_if_not_any<_Tp>, typename _Mgr = _Manager<_VTp>, typename = _Require<__not_<__is_in_place_type<_VTp>>, is_copy_constructible<_VTp>>>

std::any::any | ( | _Tp && | __value | ) |

inline

Construct with a copy of `__value` as the contained object.

Definition at line 189 of file any.

## any() [5/6]

template<typename _Tp , typename... _Args, typename _VTp = decay_t<_Tp>, typename _Mgr = _Manager<_VTp>, __any_constructible_t< _VTp, _Args &&... > = false>

std::any::any | ( | in_place_type_t< _Tp > | ,
|  | _Args &&... | __args
| ) |  |

inline explicit

Construct with an object created from `__args` as the contained object.

Definition at line 200 of file any.

## any() [6/6]

template<typename _Tp , typename _Up , typename... _Args, typename _VTp = decay_t<_Tp>, typename _Mgr = _Manager<_VTp>, __any_constructible_t< _VTp, initializer_list< _Up > &, _Args &&... > = false>

std::any::any | ( | in_place_type_t< _Tp > | ,
|  | initializer_list< _Up > | __il,
|  | _Args &&... | __args
| ) |  |

inline explicit

Construct with an object created from `__il` and `__args` as the contained object.

Definition at line 213 of file any.

## ~any()

std::any::~any | ( |  | ) |

inline

Destructor, calls `reset()`

Definition at line 220 of file any.

## Member Function Documentation

## emplace() [1/2]

template<typename _Tp , typename... _Args>

__emplace_t<decay_t<_Tp>, _Args...> std::any::emplace | ( | _Args &&... | __args | ) |

inline

Emplace with an object created from `__args` as the contained object.

Definition at line 264 of file any.

## emplace() [2/2]

template<typename _Tp , typename _Up , typename... _Args>

__emplace_t<decay_t<_Tp>, initializer_list<_Up>&, _Args&&...> std::any::emplace | ( | initializer_list< _Up > | __il,
|  | _Args &&... | __args
| ) |  |

inline

Emplace with an object created from `__il` and `__args` as the contained object.

Definition at line 275 of file any.

## has_value()

bool std::any::has_value | ( |  | ) | const

inline noexcept

Reports whether there is a contained object or not.

Definition at line 327 of file any.

## operator=() [1/3]

template<typename _Tp >

enable_if_t<is_copy_constructible<_Decay_if_not_any<_Tp> >::value, any&> std::any::operator= | ( | _Tp && | __rhs | ) |

inline

Store a copy of `__rhs` as the contained object.

Definition at line 255 of file any.

## operator=() [2/3]

any& std::any::operator= | ( | any && | __rhs | ) |

inline noexcept

Move assignment operator.

Postcondition
  `!__rhs`.has_value() (not guaranteed for other implementations)

Definition at line 238 of file any.

## operator=() [3/3]

any& std::any::operator= | ( | const any & | __rhs | ) |

inline

Copy the state of another object.

Definition at line 226 of file any.

## reset()

void std::any::reset | ( |  | ) |

inline noexcept

If not empty, destroy the contained object.

Definition at line 285 of file any.

## swap()

void std::any::swap | ( | any & | __rhs | ) |

inline noexcept

Exchange state with another object.

Definition at line 295 of file any.

## type()

const type_info& std::any::type | ( |  | ) | const

inline noexcept

The `typeid` of the contained object, or `typeid(void)` if empty.

Definition at line 331 of file any.

The documentation for this class was generated from the following file:

- any