any
class
Un objeto any
almacena una instancia de un tipo que cumple los requisitos del constructor o no tiene ningún valor. Tanto si tiene una instancia almacenada como si no tiene ningún valor, se denomina estado del objeto any
.
La instancia almacenada se denomina valor contenido. Dos objetos any
tienen el mismo estado si ambos no tienen ningún valor, o ambos tienen un valor contenido y esos valores son los mismos.
Sintaxis
class any;
Miembros
Constructores
Nombre | Descripción |
---|---|
any |
Construye un objeto de tipo any . |
Funciones
Nombre | Descripción |
---|---|
emplace |
Establece un valor any . |
has_value |
Devuelve true si any tiene un valor. |
reset |
Restablece un any . |
swap |
Intercambia dos objetos any . |
type |
Devuelve el tipo any . |
Operadores
Nombre | Descripción |
---|---|
operator= |
Reemplaza la clase any por una copia de otra clase any . |
any
Construye un objeto de tipo any
. También incluye un destructor.
constexpr any() noexcept;
any(const any& other);
any(any&& other) noexcept;
template <class T>
any(T&& value);
template <class T, class... Args>
explicit any(in_place_type_t<T>, Args&&...);
template <class T, class U, class... Args>
explicit any(in_place_type_t<T>, initializer_list<U>, Args&&...);
~any();
emplace
Establece un valor any
.
template <class T, class... Args>
decay_t<T>& emplace(Args&& ...);
template <class T, class U, class... Args>
decay_t<T>& emplace(initializer_list<U>, Args&&...);
has_value
Devuelve true
si el objeto any
tiene un valor.
bool has_value() const noexcept;
operator=
Reemplaza el contenido any
con una copia de otro any
.
any& operator=(const any& right);
any& operator=(any&& right) noexcept;
template <class T>
any& operator=(T&& right);
Parámetros
right
La clase any
que se copia en este any
.
reset
Restablece un any
.
void reset() noexcept;
swap
Intercambia dos objetos any
.
void swap(any& rhs) noexcept;
type
Devuelve el tipo any
.
const type_info& type() const noexcept;
Requisitos
Encabezado<any>:
Espacio de nombres: std
Estándar: C++17 (use al menos /std:c++17
para compilar).