std::in_place,std::in_place_type,std::in_place_index,std::in_place_t,(3)

NAME
std::in_place,std::in_place_type,std::in_place_index,std::in_place_t, - std::in_place,std::in_place_type,std::in_place_index,std::in_place_t,

Synopsis
   Defined in header <utility>
   struct in_place_t {
   explicit in_place_t() = default; (since C++17)
   };
   inline constexpr in_place_t in_place{};
   template <class T> struct in_place_type_t {
   explicit in_place_type_t() = default;
   }; (since C++17)
   template <class T>
   inline constexpr in_place_type_t<T> in_place_type{};
   template <std::size_t I> struct in_place_index_t {
   explicit in_place_index_t() = default;
   }; (since C++17)
   template <std::size_t I>
   inline constexpr in_place_index_t<I> in_place_index{};
   std::in_place, std::in_place_type, and std::in_place_index are disambiguation tags
   that can be passed to the constructors of std::optional, std::variant, and std::any
   to indicate that the contained object should be constructed in-place, and (for the
   latter two) the type of the object to be constructed.
   The corresponding type/type templates std::in_place_t, std::in_place_type_t and
   std::in_place_index_t can be used in the constructor's parameter list to match the
   intended tag.

See also
   optional a wrapper that may or may not hold an object
   (C++17) (class template)
   variant a type-safe discriminated union
   (C++17) (class template)
   any Objects that hold instances of any CopyConstructible type.
   (C++17) (class)