| 
| constexpr  | any () noexcept | 
|   | Default constructor, creates an empty object.  
  | 
|   | 
|   | any (const any &other) | 
|   | Copy constructor, copies the state of other.  
  | 
|   | 
|   | any (any &&other) noexcept | 
|   | Move constructor, transfer the state from other.  
  | 
|   | 
| template<typename T, typename V = decay_if_not_any<T>, typename Mgr = Manager<V>, std::enable_if_t< std::is_copy_constructible_v< V > &&!is_in_place_type_v< V >, bool > = true>  | 
|   | any (T &&value) | 
|   | Construct with a copy of value as the contained object.  
  | 
|   | 
| template<typename T, typename... Args, typename V = std::decay_t<T>, typename Mgr = Manager<V>, any_constructible_t< V, Args &&... > = false>  | 
|   | any (std::in_place_type_t< T >, Args &&... args) | 
|   | Construct with an object created from args as the contained object.  
  | 
|   | 
| template<typename T, typename U, typename... Args, typename V = std::decay_t<T>, typename Mgr = Manager<V>, any_constructible_t< V, std::initializer_list< U > &, Args &&... > = false>  | 
|   | any (std::in_place_type_t< T >, std::initializer_list< U > il, Args &&... args) | 
|   | Construct with an object created from il and args as the contained object.  
  | 
|   | 
|   | ~any () | 
|   | Destructor, calls reset().  
  | 
|   | 
| any &  | operator= (const any &rhs) | 
|   | Copy the state of another object.  
  | 
|   | 
| any &  | operator= (any &&rhs) noexcept | 
|   | Move assignment operator.  
  | 
|   | 
| template<typename T>  | 
| std::enable_if_t< std::is_copy_constructible_v< decay_if_not_any< T > >, any & >  | operator= (T &&rhs) | 
|   | Store a copy of rhs as the contained object.  
  | 
|   | 
| template<typename T, typename... Args>  | 
| any_emplace_t< std::decay_t< T >, Args... >  | emplace (Args &&... args) | 
|   | Emplace with an object created from args as the contained object.  
  | 
|   | 
| template<typename T, typename U, typename... Args>  | 
| any_emplace_t< std::decay_t< T >, std::initializer_list< U > &, Args &&... >  | emplace (std::initializer_list< U > il, Args &&... args) | 
|   | Emplace with an object created from il and args as the contained object.  
  | 
|   | 
| void  | reset () noexcept | 
|   | If not empty, destroys the contained object.  
  | 
|   | 
| void  | swap (any &rhs) noexcept | 
|   | Exchange state with another object.  
  | 
|   | 
| bool  | has_value () const noexcept | 
|   | Report whether there is a contained object or not.  
  | 
|   | 
| const std::type_info &  | type () const noexcept | 
|   | The typeid of the contained object, or typeid(void) if empty.  
  | 
|   | 
 | 
| enum   | Op {  
  Op_Access
, Op_Get_Type_Info
, Op_Clone
, Op_Destroy
,  
  Op_Xfer
 
 } | 
|   | 
| template<typename T, bool Safe = std::is_nothrow_move_constructible_v<T>, bool Fits = ( sizeof( T ) <= sizeof( Storage ) ) && ( alignof( T ) <= alignof( Storage ) )>  | 
| using  | Use_Internal_Storage = std::integral_constant<bool, Safe && Fits> | 
|   | 
| template<typename T>  | 
| using  | Manager | 
|   | 
| template<typename T, typename V = std::decay_t<T>>  | 
| using  | decay_if_not_any = std::enable_if_t<!std::is_same_v<V, any>, V> | 
|   | 
| template<typename Res, typename T, typename... Args>  | 
| using  | any_constructible | 
|   | 
| template<typename T, typename... Args>  | 
| using  | any_constructible_t = typename any_constructible<bool, T, Args...>::type | 
|   | 
| template<typename V, typename... Args>  | 
| using  | any_emplace_t = typename any_constructible<V&, V, Args...>::type | 
|   | 
A type-safe container of any type. 
An any object's state is either empty or it stores a contained object of CopyConstructible type. 
Definition at line 92 of file ki_any.h.