Spec-Zone.ru › C++

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

Определено в заголовке <utility>
struct in_place_t { explicit in_place_t() = default; };
(1) (с C++17)
inline constexpr std::in_place_t in_place {};
(2) (с C++17)
template< class T >
struct in_place_type_t { explicit in_place_type_t() = default; };
(3) (с C++17)
template< class T >
inline constexpr std::in_place_type_t<T> in_place_type {};
(4) (с C++17)
template< std::size_t I >
struct in_place_index_t { explicit in_place_index_t() = default; };
(5) (с C++17)
template< std::size_t I >
inline constexpr std::in_place_index_t<I> in_place_index {};
(6) (с C++17)
1,3,5) Шаблоны типов std::in_place_t, std::in_place_type_t и std::in_place_index_t могут использоваться в списке параметров конструктора для соответствия ожидаемым тегам.
2,4,6) Соответствующие std::in_place, std::in_place_type, и std::in_place_index экземпляры (1,3,5) являются тегами разбора, которые могут передаваться в конструкторы std::expected, std::optional, std::variant, и std::any для указания, что содержащийся объект должен быть создан в месте, а также (для двух последних) тип создаваемого объекта.

См. также

expected
(C++23)
оболочка, содержащая ожидаемое или ошибочное значение
(шаблон класса)
optional
(C++17)
оболочка, которая может или не может содержать объект
(шаблон класса)
variant
(C++17)
безопасный по типу объединение
(шаблон класса)
any
(C++17)
объекты, содержащие экземпляры любого CopyConstructible типа
(класс)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/in_place

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API