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)
2024.06.10 | http://cppreference.com |