Repository navigation
Expand file tree
/
Copy pathsrc.cpp
More file actions
133 lines (105 loc) · 3.57 KB
/
Copy pathsrc.cpp
File metadata and controls
133 lines (105 loc) · 3.57 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Copyright (c) 2022-present INESC-ID.
// Distributed under the MIT license that can be found in the LICENSE file.
#include <map>
#include <utility>
template <typename T1, typename T2> using t1 = std::map<T1, T2>;
template <typename T1, typename T2>
using t2 = typename std::map<T1, T2>::const_iterator;
template <typename T1, typename T2>
using t3 = typename std::map<T1, T2>::iterator;
template <typename T1, typename T2> T2 &f1(std::map<T1, T2> &o, const T1 &key) {
return o.operator[](key);
}
template <typename T1, typename T2> std::size_t f2(const std::map<T1, T2> &o) {
return o.size();
}
template <typename T1, typename T2>
typename std::map<T1, T2>::iterator f3(std::map<T1, T2> &o,
typename std::map<T1, T2>::iterator it) {
return o.erase(it);
}
template <typename T1, typename T2> std::map<T1, T2> f5() {
return std::map<T1, T2>();
}
template <typename T1, typename T2>
std::map<T1, T2> f6(const std::map<T1, T2> &&o) {
return std::map<T1, T2>(std::move(o));
}
template <typename T1, typename T2> T2 &f7(std::map<T1, T2> &o, const T1 &key) {
return o.at(key);
}
template <typename T1, typename T2> T2 &f8(std::map<T1, T2> &o, T1 &&key) {
return o.operator[](std::move(key));
}
template <typename T1, typename T2>
typename std::map<T1, T2>::const_iterator f9(const std::map<T1, T2> &o) {
return o.end();
}
template <typename T1, typename T2>
typename std::map<T1, T2>::iterator f10(std::map<T1, T2> &o, const T1 &key) {
return o.find(key);
}
template <typename T1, typename T2>
bool f11(typename std::map<T1, T2>::iterator a,
typename std::map<T1, T2>::iterator b) {
return operator!=(a, b);
}
template <typename T1, typename T2>
typename std::map<T1, T2>::iterator f12(std::map<T1, T2> &o) {
return o.begin();
}
template <typename T1, typename T2>
bool f13(typename std::map<T1, T2>::const_iterator a,
typename std::map<T1, T2>::const_iterator b) {
return operator==(a, b);
}
template <typename T1, typename T2>
typename std::map<T1, T2>::iterator f14(std::map<T1, T2> &o) {
return o.end();
}
template <typename T1, typename T2>
const T2 &f15(const std::map<T1, T2> &o, const T1 &key) {
return o.at(key);
}
template <typename T1, typename T2>
bool f16(typename std::map<T1, T2>::iterator a,
typename std::map<T1, T2>::iterator b) {
return operator==(a, b);
}
template <typename T1, typename T2>
typename std::map<T1, T2>::const_iterator f17(const std::map<T1, T2> &o,
const T1 &key) {
return o.find(key);
}
template <typename T1, typename T2>
typename std::map<T1, T2>::const_iterator
f19(const typename std::map<T1, T2>::iterator &it) {
return typename std::map<T1, T2>::const_iterator(it);
}
template <typename T1, typename T2>
const T1 &f20(typename std::map<T1, T2>::const_iterator it) {
return it->first;
}
template <typename T1, typename T2>
const T2 &f21(typename std::map<T1, T2>::const_iterator it) {
return it->second;
}
template <typename T1, typename T2>
const T1 &f22(typename std::map<T1, T2>::iterator it) {
return it->first;
}
template <typename T1, typename T2>
T2 &f23(typename std::map<T1, T2>::iterator it) {
return it->second;
}
template <typename T1, typename T2> std::map<T1, T2> f24(std::map<T1, T2> &&o) {
return std::map<T1, T2>(std::move(o));
}
template <typename T1, typename T2>
std::map<T1, T2> &f25(std::map<T1, T2> &dst, std::map<T1, T2> &&src) {
return dst.operator=(std::move(src));
}
template <typename T1, typename T2>
std::map<T1, T2> &f26(std::map<T1, T2> &dst, const std::map<T1, T2> &src) {
return dst.operator=(src);
}