libstdc++: map Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30#ifndef _GLIBCXX_EXPERIMENTAL_MAP

31#define _GLIBCXX_EXPERIMENTAL_MAP 1

32

33#pragma GCC system_header

34

36

37#if __cplusplus >= 201402L

38

39#include <map>

42

43namespace std _GLIBCXX_VISIBILITY(default)

44{

45_GLIBCXX_BEGIN_NAMESPACE_VERSION

46

47namespace experimental

48{

49inline namespace fundamentals_v2

50{

51 template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,

52 typename _Predicate>

53 inline void

54 erase_if(map<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)

55 {

56 _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Alloc>& __ucont = __cont;

57 std::__detail::__erase_nodes_if(__cont, __ucont, __pred);

58 }

59

60 template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,

61 typename _Predicate>

62 inline void

63 erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)

64 {

65 _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Alloc>& __ucont = __cont;

66 std::__detail::__erase_nodes_if(__cont, __ucont, __pred);

67 }

68

69 namespace pmr {

70 template<typename _Key, typename _Tp, typename _Compare = less<_Key>>

71 using map

72 = std::map<_Key, _Tp, _Compare,

73 polymorphic_allocator<pair<const _Key, _Tp>>>;

74

75 template<typename _Key, typename _Tp, typename _Compare = less<_Key>>

76 using multimap

78 polymorphic_allocator<pair<const _Key, _Tp>>>;

79 }

80}

81}

82

83_GLIBCXX_END_NAMESPACE_VERSION

84}

85

86#endif

87

88#endif

ISO C++ entities toplevel namespace is std.

A standard container made up of (key,value) pairs, which can be retrieved based on a key,...

A standard container made up of (key,value) pairs, which can be retrieved based on a key,...