std::in_place, std::in_place_type, std::in_place_index, std::in_place_t, std::in_place_type_t, std::in_place_index_t
De cppreference.com
Definido en el archivo de encabezado <utility>
|
||
struct in_place_t { explicit in_place_t() = default; |
(desde C++17) | |
template <class T> struct in_place_type_t { explicit in_place_type_t() = default; |
(desde C++17) | |
template <std::size_t I> struct in_place_index_t { explicit in_place_index_t() = default; |
(desde C++17) | |
std::in_place
, std::in_place_type
, y std::in_place_index
son etiquetas de desambiguación que pueden pasarse a los constructores de std::optional, std::variant, y std::any para indicar que el objeto contenido deberá construirse en el sitio, y (para las últimas dos) el tipo del objeto a construir.
El tipo correspondiente o plantillas de tipo correspondientes std::in_place_t
, std::in_place_type_t
y std::in_place_index_t
pueden usarse en la lista de parámetros del constructor para que coincida con la etiqueta deseada.
[editar] Véase también
(C++17) |
Un envoltorio que puede o no mantener un objeto. (plantilla de clase) |
(C++17) |
Una unión discriminada con seguridad de tipo. (plantilla de clase) |
(C++17) |
Objetos que contienen instancias de cualquier tipo CopyConstructible. (clase) |