std::experimental::in_place_t
From cppreference.com
                    
                                        
                    < cpp | experimental | optional
                    
                                                            
                    | Defined in header  <experimental/optional> | ||
| struct in_place_t {}; | (library fundamentals TS) | |
std::experimental::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) |