1[/ 2 / Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) 3 / 4 / Distributed under the Boost Software License, Version 1.0. (See accompanying 5 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 /] 7 8[section:ProtoAllocator Proto-allocator requirements] 9 10A type `A` meets the proto-allocator requirements if `A` is `CopyConstructible` 11(C++Std [copyconstructible]), `Destructible` (C++Std [destructible]), and 12`allocator_traits<A>::rebind_alloc<U>` meets the allocator requirements (C++Std 13[allocator.requirements]), where `U` is an object type. [inline_note For 14example, `std::allocator<void>` meets the proto-allocator requirements but not 15the allocator requirements.] No constructor, comparison operator, copy 16operation, move operation, or swap operation on these types shall exit via an 17exception. 18 19[endsect] 20