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, using hasher() as the hash function
and key_equal() as the key equality function.

size() is less than or 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 of the elements
in the range [i,j) that have unique keys, using at least n
buckets, and using hasher() as the hash function and key_equal()
as the key equality function.

size() is less than or 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 of the elements
in the range [i,j) that have unique keys, using at least n
buckets, and using h as the hash function and key_equal()
as the key equality function.

size() is less than or 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 of the elements
in the range [i,j) that have unique keys, using at least n
buckets, and using h as the hash function and k
as the key equality function.

size() is less than or 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.
