
  Expression semantics
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 elements in the range [i,j), using hasher() as the hash function and key_equal() as the key equality function. 
size() is equal to the distance from i to j. The bucket count is an unspecified default value. The hash function is hasher(), and the key equality function is key_equal(). 
Range constructor with bucket count 
X(i, j, n) X a(i, j, n); 
[i,j) is a valid range. 
Creates an associative container that contains all elements in the range [i,j), using at least n buckets, and using hasher() as the hash function and key_equal() as the key equality function. 
size() is equal to the distance from i to j. The bucket count is greater than or equal to n. The hash function is hasher(), and the key equality function is key_equal(). 
Range constructor with hash function 
X(i, j, n, h) X a(i, j, n, h); 
[i,j) is a valid range. 
Creates an associative container that contains all elements in the range [i,j), using at least n buckets, and using h as the hash function and key_equal() as the key equality function. size() is equal to the distance from i to j. 
The bucket count is greater than or equal to n. The hash function is h, and the key equality function is key_equal(). 
Range constructor with key equal 
X(i, j, n, h, k) X a(i, j, n, h, k); 
[i,j) is a valid range. 
Creates an associative container that contains all elements in the range [i,j) , using at least n buckets, and using h as the hash function and k as the key equality function. 
size() is equal to the distance from i to j. The bucket count is greater than or equal to n. The hash function is h , and the key equality function is k. 
