public member function
<unordered_set>

std::unordered_multiset::bucket

size_type bucket ( const key_type& k ) const;
Locate element's bucket
Returns the bucket number where the elements with value k is located.

A bucket is a slot in the container's internal hash table to which elements are assigned based on their hash value. Elements with the same value are located in the same bucket. Buckets are numbered from 0 to (bucket_count-1).

Individual elements in a bucket can be accessed by means of the range iterators returned by unordered_multiset::begin and unordered_multiset::end.

Parameters

k
Value whose bucket is to be located.
Member type key_type is the type of the elements in the container. In unordered_set containers it is the same as value_type, defined as an alias of the class's first template parameter (Key).

Return value

The order number of the bucket corresponding to k.

Member type size_type is an unsigned integral type.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// unordered_multiset::bucket
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<std::string> myums =
  {"water","sand","ice","water"};

  for (const std::string& x: myums) {
    std::cout << x << " is in bucket #" << myums.bucket(x) << std::endl;
  }

  return 0;
}


Possible output:
ice is in bucket #0
sand is in bucket #2
water is in bucket #4
water is in bucket #4

Complexity

Constant.

Iterator validity

No changes.

See also

  • 1793521592 2018-02-23
  • 2864591591 2018-02-23
  • 6167231590 2018-02-23
  • 3669201589 2018-02-23
  • 7946381588 2018-02-23
  • 8957701587 2018-02-23
  • 3891941586 2018-02-23
  • 6039851585 2018-02-23
  • 2573991584 2018-02-23
  • 7728781583 2018-02-23
  • 3731582 2018-02-23
  • 1007451581 2018-02-22
  • 8908121580 2018-02-22
  • 141161579 2018-02-22
  • 9421578 2018-02-22
  • 2826901577 2018-02-22
  • 3647361576 2018-02-22
  • 5717551575 2018-02-22
  • 523811574 2018-02-22
  • 6439871573 2018-02-22