It returns an iterator pointing to the first element in the unordered_set container.
Following is the declaration for std::unordered_set::begin.
iterator begin() noexcept; const_iterator begin() const noexcept;
n − It contains the information about bucket number.
It returns an iterator pointing to the first element in the unordered_set container.
Exception is thrown if any element comparison object throws exception.
Please note that invalid arguments cause undefined behavior.
constant time.
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: