@@ -58,19 +58,19 @@ namespace Matchers {
58
58
}
59
59
60
60
template <typename T>
61
- using is_generic_matcher = std::is_base_of<
61
+ static constexpr bool is_generic_matcher_v = std::is_base_of<
62
62
Catch::Matchers::MatcherGenericBase,
63
63
std::remove_cv_t <std::remove_reference_t <T>>
64
- >;
64
+ >::value ;
65
65
66
66
template <typename ... Ts>
67
- using are_generic_matchers = Catch::Detail::conjunction<is_generic_matcher< Ts>...>;
67
+ static constexpr bool are_generic_matchers_v = Catch::Detail::conjunction<std::integral_constant< bool ,is_generic_matcher_v< Ts>> ...>::value ;
68
68
69
69
template <typename T>
70
- using is_matcher = std::is_base_of<
70
+ static constexpr bool is_matcher_v = std::is_base_of<
71
71
Catch::Matchers::MatcherUntypedBase,
72
72
std::remove_cv_t <std::remove_reference_t <T>>
73
- >;
73
+ >::value ;
74
74
75
75
76
76
template <std::size_t N, typename Arg>
@@ -143,7 +143,7 @@ namespace Matchers {
143
143
144
144
// ! Avoids type nesting for `GenericAllOf && some matcher` case
145
145
template <typename MatcherRHS>
146
- friend std::enable_if_t <is_matcher <MatcherRHS>::value ,
146
+ friend std::enable_if_t <is_matcher_v <MatcherRHS>,
147
147
MatchAllOfGeneric<MatcherTs..., MatcherRHS>> operator && (
148
148
MatchAllOfGeneric<MatcherTs...>&& lhs,
149
149
MatcherRHS const & rhs) {
@@ -152,7 +152,7 @@ namespace Matchers {
152
152
153
153
// ! Avoids type nesting for `some matcher && GenericAllOf` case
154
154
template <typename MatcherLHS>
155
- friend std::enable_if_t <is_matcher <MatcherLHS>::value ,
155
+ friend std::enable_if_t <is_matcher_v <MatcherLHS>,
156
156
MatchAllOfGeneric<MatcherLHS, MatcherTs...>> operator && (
157
157
MatcherLHS const & lhs,
158
158
MatchAllOfGeneric<MatcherTs...>&& rhs) {
@@ -197,7 +197,7 @@ namespace Matchers {
197
197
198
198
// ! Avoids type nesting for `GenericAnyOf || some matcher` case
199
199
template <typename MatcherRHS>
200
- friend std::enable_if_t <is_matcher <MatcherRHS>::value ,
200
+ friend std::enable_if_t <is_matcher_v <MatcherRHS>,
201
201
MatchAnyOfGeneric<MatcherTs..., MatcherRHS>> operator || (
202
202
MatchAnyOfGeneric<MatcherTs...>&& lhs,
203
203
MatcherRHS const & rhs) {
@@ -206,7 +206,7 @@ namespace Matchers {
206
206
207
207
// ! Avoids type nesting for `some matcher || GenericAnyOf` case
208
208
template <typename MatcherLHS>
209
- friend std::enable_if_t <is_matcher <MatcherLHS>::value ,
209
+ friend std::enable_if_t <is_matcher_v <MatcherLHS>,
210
210
MatchAnyOfGeneric<MatcherLHS, MatcherTs...>> operator || (
211
211
MatcherLHS const & lhs,
212
212
MatchAnyOfGeneric<MatcherTs...>&& rhs) {
@@ -246,46 +246,46 @@ namespace Matchers {
246
246
247
247
// compose only generic matchers
248
248
template <typename MatcherLHS, typename MatcherRHS>
249
- std::enable_if_t <Detail::are_generic_matchers <MatcherLHS, MatcherRHS>::value , Detail::MatchAllOfGeneric<MatcherLHS, MatcherRHS>>
249
+ std::enable_if_t <Detail::are_generic_matchers_v <MatcherLHS, MatcherRHS>, Detail::MatchAllOfGeneric<MatcherLHS, MatcherRHS>>
250
250
operator && (MatcherLHS const & lhs, MatcherRHS const & rhs) {
251
251
return { lhs, rhs };
252
252
}
253
253
254
254
template <typename MatcherLHS, typename MatcherRHS>
255
- std::enable_if_t <Detail::are_generic_matchers <MatcherLHS, MatcherRHS>::value , Detail::MatchAnyOfGeneric<MatcherLHS, MatcherRHS>>
255
+ std::enable_if_t <Detail::are_generic_matchers_v <MatcherLHS, MatcherRHS>, Detail::MatchAnyOfGeneric<MatcherLHS, MatcherRHS>>
256
256
operator || (MatcherLHS const & lhs, MatcherRHS const & rhs) {
257
257
return { lhs, rhs };
258
258
}
259
259
260
260
// ! Wrap provided generic matcher in generic negator
261
261
template <typename MatcherT>
262
- std::enable_if_t <Detail::is_generic_matcher <MatcherT>::value , Detail::MatchNotOfGeneric<MatcherT>>
262
+ std::enable_if_t <Detail::is_generic_matcher_v <MatcherT>, Detail::MatchNotOfGeneric<MatcherT>>
263
263
operator ! (MatcherT const & matcher) {
264
264
return Detail::MatchNotOfGeneric<MatcherT>{matcher};
265
265
}
266
266
267
267
268
268
// compose mixed generic and non-generic matchers
269
269
template <typename MatcherLHS, typename ArgRHS>
270
- std::enable_if_t <Detail::is_generic_matcher <MatcherLHS>::value , Detail::MatchAllOfGeneric<MatcherLHS, MatcherBase<ArgRHS>>>
270
+ std::enable_if_t <Detail::is_generic_matcher_v <MatcherLHS>, Detail::MatchAllOfGeneric<MatcherLHS, MatcherBase<ArgRHS>>>
271
271
operator && (MatcherLHS const & lhs, MatcherBase<ArgRHS> const & rhs) {
272
272
return { lhs, rhs };
273
273
}
274
274
275
275
template <typename ArgLHS, typename MatcherRHS>
276
- std::enable_if_t <Detail::is_generic_matcher <MatcherRHS>::value , Detail::MatchAllOfGeneric<MatcherBase<ArgLHS>, MatcherRHS>>
276
+ std::enable_if_t <Detail::is_generic_matcher_v <MatcherRHS>, Detail::MatchAllOfGeneric<MatcherBase<ArgLHS>, MatcherRHS>>
277
277
operator && (MatcherBase<ArgLHS> const & lhs, MatcherRHS const & rhs) {
278
278
return { lhs, rhs };
279
279
}
280
280
281
281
template <typename MatcherLHS, typename ArgRHS>
282
- std::enable_if_t <Detail::is_generic_matcher <MatcherLHS>::value , Detail::MatchAnyOfGeneric<MatcherLHS, MatcherBase<ArgRHS>>>
282
+ std::enable_if_t <Detail::is_generic_matcher_v <MatcherLHS>, Detail::MatchAnyOfGeneric<MatcherLHS, MatcherBase<ArgRHS>>>
283
283
operator || (MatcherLHS const & lhs, MatcherBase<ArgRHS> const & rhs) {
284
284
return { lhs, rhs };
285
285
}
286
286
287
287
template <typename ArgLHS, typename MatcherRHS>
288
- std::enable_if_t <Detail::is_generic_matcher <MatcherRHS>::value , Detail::MatchAnyOfGeneric<MatcherBase<ArgLHS>, MatcherRHS>>
288
+ std::enable_if_t <Detail::is_generic_matcher_v <MatcherRHS>, Detail::MatchAnyOfGeneric<MatcherBase<ArgLHS>, MatcherRHS>>
289
289
operator || (MatcherBase<ArgLHS> const & lhs, MatcherRHS const & rhs) {
290
290
return { lhs, rhs };
291
291
}
0 commit comments