public member function
<unordered_set>

std::unordered_set::bucket

size_type bucket ( const key_type& k ) const;
Locate element's bucket
Returns the bucket number where the element 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. 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_set::begin and unordered_set::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
// unordered_set::bucket
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_set<std::string> myset = {"water","sand","ice","foam"};

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

  return 0;
}


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

Complexity

Constant.

Iterator validity

No changes.

See also

  • 9281021542 2018-02-20
  • 632231541 2018-02-20
  • 9751491540 2018-02-20
  • 8333621539 2018-02-20
  • 995001538 2018-02-20
  • 6477441537 2018-02-20
  • 511981536 2018-02-19
  • 2072881535 2018-02-19
  • 6024461534 2018-02-19
  • 7594061533 2018-02-19
  • 9311341532 2018-02-19
  • 4928331531 2018-02-19
  • 38561530 2018-02-19
  • 7776611529 2018-02-19
  • 3038041528 2018-02-19
  • 9566341527 2018-02-19
  • 3936031526 2018-02-19
  • 9531111525 2018-02-19
  • 291211524 2018-02-19
  • 8962001523 2018-02-19