C++ Set Library - set() Function


Advertisements

Description

The C++ constructor std::set::set() (Move Constructor) constructs the set container with the contents of other set using move semantics, i.e. constructs a set container that acquires the elements of x.

If alloc is not provided, then the allocator is obtained by move-construction from the allocator belonging to other.

Declaration

Following is the declaration for std::set::set() move constructor from std::set header.

C++11

set (set&& x);
set (set&& x, const allocator_type& alloc);

C++14

set (set&& x);
set (set&& x, const allocator_type& alloc);

Parameters

  • alloc − Input iterator to initial position.

  • x − Another set container object of the same type.

Return value

Constructor never returns any value.

Exceptions

This member function has no effect in case any exception is thrown.

Time complexity

Constant i.e. O(1), expcept if current set alloc is different from x's allocator

Example

The following example shows the usage of std::set::set() move constructor.

#include <iostream>
#include <set>

using namespace std;

int main(void) {
   // Default constructor
   std::set<char> t_set;
   t_set.insert('x');
   t_set.insert('y');

   std::cout << "Size of set container t_set is : " << t_set.size();

   // Move constructor
   std::set<char> t_set_new(std::move(t_set));
   std::cout << "\nSize of new set container t_set_new is : " << t_set_new.size();
   return 0;
}

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

Size of set container t_set is : 2
Size of new set container t_set_new is : 2 
set.htm
Advertisements