Scroll to navigation

std::allocator_arg(3) C++ Standard Libary std::allocator_arg(3)

NAME

std::allocator_arg - std::allocator_arg

Synopsis


Defined in header <memory>
struct allocator_arg_t { explicit allocator_arg_t() = default; }; (since C++11)
constexpr std::allocator_arg_t allocator_arg = (since C++11)
std::allocator_arg_t(); (until C++17)
inline constexpr std::allocator_arg_t allocator_arg = (since C++17)
std::allocator_arg_t();


std::allocator_arg_t is an empty class type used to disambiguate the overloads of
constructors and member functions of allocator-aware objects, including std::tuple,
std::function, std::packaged_task,
(until C++17)and std::promise. std::allocator_arg is a constant of it.


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 2510 C++11 the default constructor was non-explicit, which made explicit
could lead to ambiguity

See also


uses_allocator checks if the specified type supports uses-allocator construction
(C++11) (class template)

2022.07.31 http://cppreference.com