C++ Unordered_set Library - begin


Advertisements

Description

It returns an iterator pointing to the first element in the unordered_set container.

Declaration

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

C++11

 iterator begin() noexcept;
const_iterator begin() const noexcept;

Parameters

n − It contains the information about bucket number.

Return value

It returns an 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::begin.

#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.begin(); it != myset.end(); ++it )
      std::cout << " " << *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.begin(i); local_it!= myset.end(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