C++ Standard Library C++ STL Library

C++ unordered_set - get_allocator() Function



The C++ unordered_set::get_allocator function returns a copy of allocator object associated with the given unordered_set.

Syntax

allocator_type get_allocator() const noexcept;

Parameters

None.

Return Value

Returns an allocator associated with the given unordered_set.

Time Complexity

Constant i.e, Θ(1).

Example:

In the example below, the unordered_set::get_allocator function returns a copy of same allocator object used by the unordered_set uSet.

#include <iostream>
#include <unordered_set>
using namespace std;
 
int main (){
  unordered_set<int> uSet;
  int *p;

  //allocate array with a memory to store 5 
  //elements using unordered_set's allocator
  p = uSet.get_allocator().allocate(5);

  //construct values in-place on the array
  for(int i=0; i<5; i++)
    uSet.get_allocator().construct(&p[i], 100*(i+1));

  cout<<"The allocated array contains: ";
  for(int i=0; i<5; i++)
    cout<<p[i]<<" ";

  //destroy and deallocate the array
  for(int i=0; i<5; i++)
    uSet.get_allocator().destroy(&p[i]); 
  uSet.get_allocator().deallocate(p,5);

  return 0;
}

The output of the above code will be:

The allocated array contains: 100 200 300 400 500 

❮ C++ <unordered_set> Library