std::in_place_t

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

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++14)
an object of type std::in_place_t
(function)
(C++14)
a wrapper that may or may not hold an object
(class template)