C++ Unordered_set Library - cbegin


Advertisements

Description

It returns a const_iterator pointing to the first element in the unordered_set container.

Declaration

Following is the declaration for std::unordered_set::cbegin.

C++11

const_iterator cbegin() const noexcept;

Parameters

n − It contains the information about bucket number.

Return value

It returns a const_iterator pointing to the first element in the unordered_set container.

Exceptions

Exception is thrown if any element comparison object throws exception.

Please note that invalid arguments cause undefined behavior.

Time complexity

constant time.

Example

The following example shows the usage of std::unordered_set::cbegin.

#include <iostream>
#include <string>
#include <unordered_set>

int main () {
   std::unordered_set<std::string> myset =
      {"100","200","300","400","500","600","700","800"};

   std::cout << "myset contains:";
   for ( auto it = myset.cbegin(); it != myset.cend(); ++it )
      std::cout << " " << *it;    // cannot modify *it
   std::cout << std::endl;

   std::cout << "myset's buckets contain:\n";
   for ( unsigned i = 0; i < myset.bucket_count(); ++i) {
      std::cout << "bucket #" << i << " contains:";
      for ( auto local_it = myset.cbegin(i); local_it!= myset.cend(i); ++local_it )
      std::cout << " " << *local_it;
      std::cout << std::endl;
   }

   return 0;
}

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

myset contains: 700 600 400 800 200 500 300 100
myset's buckets contain:
bucket #0 contains:
bucket #1 contains:
bucket #2 contains:
bucket #3 contains:
bucket #4 contains: 700
bucket #5 contains:
bucket #6 contains: 400
bucket #7 contains: 500 300 100
bucket #8 contains: 600
bucket #9 contains: 800 200
bucket #10 contains:
unordered_set.htm
Advertisements