@@ -137,46 +137,82 @@ namespace eastl
137
137
template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() const > : public true_type{};
138
138
template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() volatile > : public true_type{};
139
139
template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() const volatile > : public true_type{};
140
+ template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() noexcept > : public true_type{};
141
+ template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() const noexcept > : public true_type{};
142
+ template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() volatile noexcept > : public true_type{};
143
+ template <typename R, typename T> struct is_mem_fun_pointer_value <R (T::*)() const volatile noexcept > : public true_type{};
140
144
141
145
template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0)> : public true_type{};
142
146
template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) const > : public true_type{};
143
147
template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) volatile > : public true_type{};
144
148
template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) const volatile > : public true_type{};
149
+ template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) noexcept > : public true_type{};
150
+ template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) const noexcept > : public true_type{};
151
+ template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) volatile noexcept > : public true_type{};
152
+ template <typename R, typename T, typename Arg0> struct is_mem_fun_pointer_value <R (T::*)(Arg0) const volatile noexcept > : public true_type{};
145
153
146
154
template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1)> : public true_type{};
147
155
template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) const > : public true_type{};
148
156
template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) volatile > : public true_type{};
149
157
template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) const volatile > : public true_type{};
158
+ template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) noexcept > : public true_type{};
159
+ template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) const noexcept > : public true_type{};
160
+ template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) volatile noexcept > : public true_type{};
161
+ template <typename R, typename T, typename Arg0, typename Arg1> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1) const volatile noexcept > : public true_type{};
150
162
151
163
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2)> : public true_type{};
152
164
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) const > : public true_type{};
153
165
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) volatile > : public true_type{};
154
166
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) const volatile > : public true_type{};
167
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) noexcept > : public true_type{};
168
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) const noexcept > : public true_type{};
169
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) volatile noexcept > : public true_type{};
170
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2) const volatile noexcept > : public true_type{};
155
171
156
172
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3)> : public true_type{};
157
173
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) const > : public true_type{};
158
174
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) volatile > : public true_type{};
159
175
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) const volatile > : public true_type{};
176
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) noexcept > : public true_type{};
177
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) const noexcept > : public true_type{};
178
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) volatile noexcept > : public true_type{};
179
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3) const volatile noexcept > : public true_type{};
160
180
161
181
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4)> : public true_type{};
162
182
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) const > : public true_type{};
163
183
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) volatile > : public true_type{};
164
184
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) const volatile > : public true_type{};
185
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) noexcept > : public true_type{};
186
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) const noexcept > : public true_type{};
187
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) volatile noexcept > : public true_type{};
188
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4) const volatile noexcept > : public true_type{};
165
189
166
190
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5)> : public true_type{};
167
191
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) const > : public true_type{};
168
192
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) volatile > : public true_type{};
169
193
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) const volatile > : public true_type{};
194
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) noexcept > : public true_type{};
195
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) const noexcept > : public true_type{};
196
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) volatile noexcept > : public true_type{};
197
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5) const volatile noexcept > : public true_type{};
170
198
171
199
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)> : public true_type{};
172
200
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const > : public true_type{};
173
201
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) volatile > : public true_type{};
174
202
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const volatile > : public true_type{};
203
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) noexcept > : public true_type{};
204
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const noexcept > : public true_type{};
205
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) volatile noexcept > : public true_type{};
206
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const volatile noexcept > : public true_type{};
175
207
176
208
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)> : public true_type{};
177
209
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const > : public true_type{};
178
210
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) volatile > : public true_type{};
179
211
template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const volatile > : public true_type{};
212
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) noexcept > : public true_type{};
213
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const noexcept > : public true_type{};
214
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) volatile noexcept > : public true_type{};
215
+ template <typename R, typename T, typename Arg0, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7> struct is_mem_fun_pointer_value <R (T::*)(Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const volatile noexcept > : public true_type{};
180
216
181
217
template <typename T>
182
218
struct is_member_function_pointer : public integral_constant <bool , is_mem_fun_pointer_value<T>::value>{};
0 commit comments