std::in_place_t

From cppreference.com
< cpp‎ | utility‎ | optional
Defined in header <optional>
struct in_place_t {};
(since C++17)

std::in_place_t is an empty class type used to disambiguate the overloads of constructors and member functions of that take arguments (possibly a parameter pack) for in-place construction of some value.

[edit] See also

(C++17)
an object of type std::in_place_t
(constant)
(since C++17)
a wrapper that may or may not hold an object
(class template)