std::allocator_arg
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <memory> | ||
| constexpr std::allocator_arg_t allocator_arg = std::allocator_arg_t(); | (since C++11) | |
std::allocator_arg is a constant of type std::allocator_arg_t used to disambiguate, at call site, the overloads of the constructors and member functions of allocator-aware objects, such as std::tuple, std::function, std::promise, and std::packaged_task.
See also
| (C++11) | tag type used to select allocator-aware constructor overloads (class) | 
| (C++11) | checks if the specified type supports uses-allocator construction (class template) |