C++ Unordered_map Library - cend() Function


Advertisements

Description

The C++ function std::unordered_map::cend() returns a constant iterator which points to past-the-end element in one of its buckets.

Iterator obtained by this member function can be used to iterate container but cannot be used to modify the content of object to which it is pointing even if object itself is not constant.

Declaration

Following is the declaration for std::unordered_map::cend() function form std::unordered_map header.

C++11

const_local_iterator cend (size_type n) const;

Parameters

n − Bucket number.

Return value

Returns a constant iterator.

Time complexity

Constant i.e. O(1)

Example

The following example shows the usage of std::unordered_map::cend() function.

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5}
            };

   for (int i = 0; i < um.bucket_count(); ++i) {
      cout << "Bucket " << i << " contains:" << endl;

      for (auto it = um.cbegin(i); it != um.cend(i); ++it)
         cout << it->first << " = " << it->second << endl;
   }

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Bucket 0 contains:
c = 3
Bucket 1 contains:
d = 4
Bucket 2 contains:
e = 5
Bucket 3 contains:
Bucket 4 contains:
Bucket 5 contains:
Bucket 6 contains:
Bucket 7 contains:
Bucket 8 contains:
Bucket 9 contains:
a = 1
Bucket 10 contains:
b = 2
unordered_map.htm
Advertisements