GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM
  • C library:
  • <cassert> (assert.h)
  • <cctype> (ctype.h)
  • <cerrno> (errno.h)
  • <cfenv> (fenv.h)
  • <cfloat> (float.h)
  • <cinttypes> (inttypes.h)
  • <ciso646> (iso646.h)
  • <climits> (limits.h)
  • <clocale> (locale.h)

This view

  • Original page
  • New address

GeezerVison is showing cplusplus.com — std::unordered_map::bucket

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM

C++

  • Tutorials
  • Reference
  • Articles
  • Forum

Reference

  • C library:

    • <cassert> (assert.h)
    • <cctype> (ctype.h)
    • <cerrno> (errno.h)
    • C++11
      <cfenv> (fenv.h)
    • <cfloat> (float.h)
    • C++11
      <cinttypes> (inttypes.h)
    • <ciso646> (iso646.h)
    • <climits> (limits.h)
    • <clocale> (locale.h)
    • <cmath> (math.h)
    • <csetjmp> (setjmp.h)
    • <csignal> (signal.h)
    • <cstdarg> (stdarg.h)
    • C++11
      <cstdbool> (stdbool.h)
    • <cstddef> (stddef.h)
    • C++11
      <cstdint> (stdint.h)
    • <cstdio> (stdio.h)
    • <cstdlib> (stdlib.h)
    • <cstring> (string.h)
    • C++11
      <ctgmath> (tgmath.h)
    • <ctime> (time.h)
    • C++11
      <cuchar> (uchar.h)
    • <cwchar> (wchar.h)
    • <cwctype> (wctype.h)
  • Containers:

    • C++11
      <array>
    • <deque>
    • C++11
      <forward_list>
    • <list>
    • <map>
    • <queue>
    • <set>
    • <stack>
    • C++11
      <unordered_map>
    • C++11
      <unordered_set>
    • <vector>
  • Input/Output:

    • <fstream>
    • <iomanip>
    • <ios>
    • <iosfwd>
    • <iostream>
    • <istream>
    • <ostream>
    • <sstream>
    • <streambuf>
  • Multi-threading:

    • C++11
      <atomic>
    • C++11
      <condition_variable>
    • C++11
      <future>
    • C++11
      <mutex>
    • C++11
      <thread>
  • Other:

    • <algorithm>
    • <bitset>
    • C++11
      <chrono>
    • C++11
      <codecvt>
    • <complex>
    • <exception>
    • <functional>
    • C++11
      <initializer_list>
    • <iterator>
    • <limits>
    • <locale>
    • <memory>
    • <new>
    • <numeric>
    • C++11
      <random>
    • C++11
      <ratio>
    • C++11
      <regex>
    • <stdexcept>
    • <string>
    • C++11
      <system_error>
    • C++11
      <tuple>
    • C++11
      <type_traits>
    • C++11
      <typeindex>
    • <typeinfo>
    • <utility>
    • <valarray>

<unordered_map>

  • C++11
    unordered_map
  • C++11
    unordered_multimap

unordered_map

  • C++11
    unordered_map::~unordered_map
  • C++11
    unordered_map::unordered_map
  • member functions

    • C++11
      unordered_map::at
    • C++11
      unordered_map::begin
    • C++11
      unordered_map::bucket
    • C++11
      unordered_map::bucket_count
    • C++11
      unordered_map::bucket_size
    • C++11
      unordered_map::cbegin
    • C++11
      unordered_map::cend
    • C++11
      unordered_map::clear
    • C++11
      unordered_map::count
    • C++11
      unordered_map::emplace
    • C++11
      unordered_map::emplace_hint
    • C++11
      unordered_map::empty
    • C++11
      unordered_map::end
    • C++11
      unordered_map::equal_range
    • C++11
      unordered_map::erase
    • C++11
      unordered_map::find
    • C++11
      unordered_map::get_allocator
    • C++11
      unordered_map::hash_function
    • C++11
      unordered_map::insert
    • C++11
      unordered_map::key_eq
    • C++11
      unordered_map::load_factor
    • C++11
      unordered_map::max_bucket_count
    • C++11
      unordered_map::max_load_factor
    • C++11
      unordered_map::max_size
    • C++11
      unordered_map::operator[]
    • C++11
      unordered_map::operator=
    • C++11
      unordered_map::rehash
    • C++11
      unordered_map::reserve
    • C++11
      unordered_map::size
    • C++11
      unordered_map::swap
  • non-member overloads

    • C++11
      operators (unordered_map)
    • C++11
      swap (unordered_map)
  • Reference
  • <unordered_map>
  • unordered_map
  • bucket
public member function
<unordered_map>

std::unordered_map::bucket

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

A bucket is a slot in the container's internal hash table to which elements are assigned based on the hash value of their key. 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_map::begin and unordered_map::end.

Parameters

k
Key whose bucket is to be located.
Member type key_type is the type of the keys for the elements in the container, defined in unordered_map as an alias of its 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
17
18
19
20
21
// unordered_map::bucket
#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_map<std::string,std::string> mymap = {
    {"us","United States"},
    {"uk","United Kingdom"},
    {"fr","France"},
    {"de","Germany"}
  };

  for (auto& x: mymap) {
    std::cout << "Element [" << x.first << ":" << x.second << "]";
    std::cout << " is in bucket #" << mymap.bucket (x.first) << std::endl;
  }

  return 0;
}

Possible output:
Element [us:United States] is in bucket #1
Element [de:Germany] is in bucket #2
Element [fr:France] is in bucket #2
Element [uk:United Kingdom] is in bucket #4


Complexity

Constant.

Iterator validity

No changes.

See also

unordered_map::find
Get iterator to element (public member function)
unordered_map::bucket_size
Return bucket size (public member type)
unordered_map::bucket_count
Return number of buckets (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2026 - All rights reserved - v3.3.4s
Spotted an error? contact us
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.