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.
See also
|  in-place construction tag (tag)  | |
|    (C++17)  | 
  a wrapper that may or may not hold an object  (class template)  |