...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A type A
meets the proto-allocator requirements if A
is CopyConstructible
(C++Std [copyconstructible]), Destructible
(C++Std [destructible]), and allocator_traits<A>::rebind_alloc<U>
meets the allocator requirements (C++Std [allocator.requirements]), where
U
is an object type. [Note: For example,
std::allocator<void>
meets the proto-allocator requirements
but not the allocator requirements. —end note] No constructor,
comparison operator, copy operation, move operation, or swap operation on
these types shall exit via an exception.