diff --git a/xml/issue3976.xml b/xml/issue3976.xml new file mode 100644 index 0000000000..799d7b2bd3 --- /dev/null +++ b/xml/issue3976.xml @@ -0,0 +1,36 @@ + + + + +What does it mean for a type to be "allocator aware"? +
+Alisdair Meredith +14 Aug 2023 +99 + + +

+Trying to interpret the specification for allocator-aware containers, . +

+P1 establishes that std::array is not an allocator-aware container, but all other containers in +the standard are. +

+P2 then adds vocabulary, with ruling that if a container type X is not allocator-aware then +the specification is as-if the allocator were std::allocator<T>. I cannot find a specification +for allocator-aware, and do not believe we should treat this as a recursive definition, as +the only standard container that would be affected would be std::array, which absolutely +does not want to apply all the terms in this subclause. +

+It looks like we might mean types that do not have everything specified by the first +sentence, such as an allocator_type member. Perhaps we want to say a container +type X is allocator-aware using allocator A if […], and then that basic_string and +containers that are not otherwise allocator aware are are treated as-if they were +allocator-aware using std::allocator<typename X::value_type> (where value_type +is already guaranteed to exist by the basic container requirements). +

+
+ + + + +