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.
Complexity guarantees
The range constructor, range constructor with bucket count,
range constructor with hash function, and
range constructor with key equal, are all linear in j - i.
[1]
At present (early 1998), not all compilers support
"member templates". If your compiler supports member
templates then i and j may be of any type that
conforms to the Input Iterator
requirements. If your compiler does not yet support member
templates, however, then i and j must be of type
const T* or of type X::const_iterator.