xref: /llvm-project/libcxx/test/std/containers/associative/map/get_allocator.pass.cpp (revision 8d25da78aad91635f78225edd972feb2de7228cd)
1*8d25da78SKonstantin Boyarinov //===----------------------------------------------------------------------===//
2*8d25da78SKonstantin Boyarinov //
3*8d25da78SKonstantin Boyarinov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*8d25da78SKonstantin Boyarinov // See https://llvm.org/LICENSE.txt for license information.
5*8d25da78SKonstantin Boyarinov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*8d25da78SKonstantin Boyarinov //
7*8d25da78SKonstantin Boyarinov //===----------------------------------------------------------------------===//
8*8d25da78SKonstantin Boyarinov 
9*8d25da78SKonstantin Boyarinov // <map>
10*8d25da78SKonstantin Boyarinov 
11*8d25da78SKonstantin Boyarinov // class map
12*8d25da78SKonstantin Boyarinov 
13*8d25da78SKonstantin Boyarinov // allocator_type get_allocator() const
14*8d25da78SKonstantin Boyarinov 
15*8d25da78SKonstantin Boyarinov #include <map>
16*8d25da78SKonstantin Boyarinov #include <cassert>
17*8d25da78SKonstantin Boyarinov #include <string>
18*8d25da78SKonstantin Boyarinov 
19*8d25da78SKonstantin Boyarinov #include "test_allocator.h"
20*8d25da78SKonstantin Boyarinov #include "test_macros.h"
21*8d25da78SKonstantin Boyarinov 
main(int,char **)22*8d25da78SKonstantin Boyarinov int main(int, char**) {
23*8d25da78SKonstantin Boyarinov     typedef std::pair<const int, std::string> ValueType;
24*8d25da78SKonstantin Boyarinov     {
25*8d25da78SKonstantin Boyarinov         std::allocator<ValueType> alloc;
26*8d25da78SKonstantin Boyarinov         const std::map<int, std::string> m(alloc);
27*8d25da78SKonstantin Boyarinov         assert(m.get_allocator() == alloc);
28*8d25da78SKonstantin Boyarinov     }
29*8d25da78SKonstantin Boyarinov     {
30*8d25da78SKonstantin Boyarinov         other_allocator<ValueType> alloc(1);
31*8d25da78SKonstantin Boyarinov         const std::map<int, std::string, std::less<int>,
32*8d25da78SKonstantin Boyarinov                        other_allocator<ValueType> > m(alloc);
33*8d25da78SKonstantin Boyarinov         assert(m.get_allocator() == alloc);
34*8d25da78SKonstantin Boyarinov     }
35*8d25da78SKonstantin Boyarinov 
36*8d25da78SKonstantin Boyarinov     return 0;
37*8d25da78SKonstantin Boyarinov }
38