template <class T, class... Args>
decay_t<T>& emplace(Args&&... args);
Effects: Звонки reset(). Затем инициализирует содержащееся значение, как если бы инициализирует объект типа напрямую без использования списка VT с аргументами std::forward<Args>(args)....
Remarks: Если во время вызова VTконструктора возникает исключение , *this он не содержит значения и любое ранее содержащееся значение было уничтожено. Эта функция не будет участвовать в разрешении перегрузки , если is_copy_constructible_v<VT> не true и is_constructible_v<VT, Args...> является true.
template <class T, class U, class... Args>
decay_t<T>& emplace(initializer_list<U> il, Args&&... args);
Effects: Звонки reset(). Затем инициализирует содержащееся значение, как если бы инициализирует объект типа напрямую без использования списка VT с аргументами il, std::forward<Args>(args)....
Remarks: Если во время вызова VTконструктора возникает исключение , *this он не содержит значения и любое ранее содержащееся значение было уничтожено. Функция не должна участвовать в разрешении перегрузки, за исключением случаев, когда is_copy_constructible_v<VT> есть true и is_constructible_v<VT, initializer_list<U>&, Args...> есть true.
void reset() noexcept;
void swap(any& rhs) noexcept;