public member function

std::map::get_allocator

<map>
allocator_type get_allocator() const;
Get allocator
Returns the allocator object used to construct the container.

Parameters

none

Return Value

The allocator.

Member type allocator_type is defined to the same as the fourth template parameter used to instantitate this specific map class (its Allocator type).

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// map::get_allocator
#include <iostream>
#include <map>

using namespace std;

int main ()
{
  int psize;
  map<char,int> mymap;
  pair<const char,int>* p;

  // allocate an array of 5 elements using mymap's allocator:
  p=mymap.get_allocator().allocate(5);

  // assign some values to array
  psize = (int) sizeof(map<char,int>::value_type)*5;

  cout << "The allocated array has a size of " << psize << " bytes.\n";

  mymap.get_allocator().deallocate(p,5);

  return 0;
}

The example shows an elaborate way to allocate memory for an array of pairs using the same allocator used by the container.
A possible output is:
The allocated array has a size of 40 bytes.

Complexity

Constant.