| Name | Expression | Type requirements | Return type | 
| Range constructor | 
X(i, j)
X a(i, j);
 | i and j are Input Iterators whose value type is convertible
   to T [1]. | X | 
| Range constructor with bucket count | 
X(i, j, n)
X a(i, j, n);
 | i and j are Input Iterators whose value type is convertible
   to T [1]. | X | 
| Range constructor with hash function | 
X(i, j, n, h)
X a(i, j, n, h);
 | i and j are Input Iterators whose value type is convertible
   to T [1]. | X | 
| Range constructor with key equal | 
X(i, j, n, h, k)
X a(i, j, n, h, k);
 | i and j are Input Iterators whose value type is convertible
   to T [1]. | X | 
| 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. |