Reference

public member function
<set>

std::multiset::get_allocator

allocator_type get_allocator() const;
allocator_type get_allocator() const noexcept;
Get allocator
Returns a copy of the allocator object associated with the multiset.

Parameters

none

Return Value

The allocator.

Member type allocator_type is the type of the allocator used by the container, defined in multiset as an alias of its third template parameter (Alloc).

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
// multiset::get_allocator
#include <iostream>
#include <set>
int main ()
{
 std::multiset<int> mymultiset;
 int * p;
 unsigned int i;
 // allocate an array of 5 elements using myset's allocator:
 p=mymultiset.get_allocator().allocate(5);
 // assign some values to array
 for (i=0; i<5; i++) p[i]=(i+1)*10;
 std::cout << "The allocated array contains:";
 for (i=0; i<5; i++) std::cout << ' ' << p[i];
 std::cout << '\n';
 mymultiset.get_allocator().deallocate(p,5);
 return 0;
}
The example shows an elaborate way to allocate memory for an array of ints using the same allocator used by the container.
Output:
The allocated array contains: 10 20 30 40 50


Complexity

Constant.

Iterator validity

No changes.

Data races

The container is accessed.
Concurrently accessing the elements of a multiset is safe.

Exception safety

No-throw guarantee: this member function never throws exceptions.
Copying any instantiation of the default allocator is also guaranteed to never throw.

See also

allocator
Default allocator (class template)

AltStyle によって変換されたページ (->オリジナル) /