cpp/named req/AssociativeContainer

An is an ordered  that provides fast lookup of objects based on keys.

An associative container supports unique keys if it may contain at most one element for each key. Otherwise, it supports equivalent keys.

Requirements
The type satisfies  if Given
 * The type satisfies ,
 * is parameterized on and an ordering relation  that induces a  on elements of, and
 * In addition, std and std associate an arbitrary mapped type with the.
 * The object of type is called the comparison object of a container of type.
 * , a value of type
 * , a value of a type whose node handles are compatible with
 * , a value of type or
 * , a value of type when  supports unique keys
 * , a value of type when  supports equivalent keys
 * , a value of type or  when type  exists
 * and, s denoting a valid range and referring to elements implicitly convertible to
 * , a valid constant iterator to
 * , a valid dereferenceable constant iterator to
 * , a valid dereferenceable iterator to
 * and, const iterators denoting a valid range in
 * , an object of type
 * , a value of type
 * , a value of type
 * , a value of type or
 * , a value such that is partitioned with respect to, with  the key value of  and  in
 * , a value such that is partitioned with respect to, with  the key value of  and  in
 * , a value such that is partitioned with respect to  and, with  implying  and with  the key value of  and  in
 * , a value such that
 * is partitioned with respect to and, with  implying  and with  the key value of  and  in , and
 * is not convertible to either or
 * , the allocator type of : if it exists, otherwise
 * , an allocator of a type convertible to
 * , a non-const rvalue of type

Iterators
Iterators of associative containers satisfy the requirements of.

For associative containers where is the same as, both  and  are constant iterators. It is unspecified whether or not and  are the same type.

Iterators of associative containers iterate through the containers in the non-descending order of keys where non-descending is defined by the comparison that was used to construct the containers. That is, given If the distance from to  is positive, then. Additionally, if is an associative container with unique keys, the stronger condition  holds.
 * , an associative container
 * and, dereferenceable iterators to