Name 
Expression 
Precondition 
Semantics 
Postcondition 
Range constructor 
X(i, j) X a(i, j); 
[i,j) is a valid range. 
Creates an associative container that contains all of the elements in the range [i,j) that have unique keys. 
size() is less than or equal to the distance from i to j. 
Insert element 
a.insert(t) 

Inserts t into a if and only if a does not already contain an element whose key is the same as the key of t. The return value is a pair P. P.first is an iterator pointing to the element whose key is the same as the key of t. P.second is a bool: it is true if t was actually inserted into a, and false if t was not inserted into a, i.e. if a already contained an element with the same key as t. 
P.first is a dereferenceable iterator. *(P.first) has the same key as t. The size of a is incremented by 1 if and only if P.second is true. 
Insert range 
a.insert(i, j) 
[i, j) is a valid range. 
Equivalent to a.insert(t) for each object t that is pointed to by an iterator in the range [i, j). Each element is inserted into a if and only if a does not already contain an element with the same key. 
The size of a is incremented by at most j – i. 
Count 
a.count(k) 

Returns the number of elements in a whose keys are the same as k. 
The return value is either 0 or 1. 