1 //
2 // mapping.cpp
3 // ~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6 //
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 //
10
11 // Disable autolinking for unit tests.
12 #if !defined(BOOST_ALL_NO_LIB)
13 #define BOOST_ALL_NO_LIB 1
14 #endif // !defined(BOOST_ALL_NO_LIB)
15
16 // Test that header file is self-contained.
17 #include "asio/execution/mapping.hpp"
18
19 #include "asio/prefer.hpp"
20 #include "asio/query.hpp"
21 #include "asio/require.hpp"
22 #include "../unit_test.hpp"
23
24 namespace exec = asio::execution;
25
26 typedef exec::mapping_t s;
27 typedef exec::mapping_t::thread_t n1;
28 typedef exec::mapping_t::new_thread_t n2;
29 typedef exec::mapping_t::other_t n3;
30
31 struct ex_nq_nr
32 {
33 template <typename F>
executeex_nq_nr34 void execute(const F&) const
35 {
36 }
37
operator ==(const ex_nq_nr &,const ex_nq_nr &)38 friend bool operator==(const ex_nq_nr&, const ex_nq_nr&) ASIO_NOEXCEPT
39 {
40 return true;
41 }
42
operator !=(const ex_nq_nr &,const ex_nq_nr &)43 friend bool operator!=(const ex_nq_nr&, const ex_nq_nr&) ASIO_NOEXCEPT
44 {
45 return false;
46 }
47 };
48
49 #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
50
51 namespace asio {
52 namespace execution {
53
54 template <>
55 struct is_executor<ex_nq_nr> : asio::true_type
56 {
57 };
58
59 } // namespace execution
60 } // namespace asio
61
62 #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
63
64 template <typename ResultType, typename ParamType, typename Result>
65 struct ex_cq_nr
66 {
queryex_cq_nr67 static ASIO_CONSTEXPR ResultType query(ParamType) ASIO_NOEXCEPT
68 {
69 return Result();
70 }
71
72 template <typename F>
executeex_cq_nr73 void execute(const F&) const
74 {
75 }
76
operator ==(const ex_cq_nr &,const ex_cq_nr &)77 friend bool operator==(const ex_cq_nr&, const ex_cq_nr&) ASIO_NOEXCEPT
78 {
79 return true;
80 }
81
operator !=(const ex_cq_nr &,const ex_cq_nr &)82 friend bool operator!=(const ex_cq_nr&, const ex_cq_nr&) ASIO_NOEXCEPT
83 {
84 return false;
85 }
86 };
87
88 #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
89
90 namespace asio {
91 namespace execution {
92
93 template <typename ResultType, typename ParamType, typename Result>
94 struct is_executor<ex_cq_nr<ResultType, ParamType, Result> >
95 : asio::true_type
96 {
97 };
98
99 } // namespace execution
100 } // namespace asio
101
102 #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
103
104 namespace asio {
105 namespace traits {
106
107 #if !defined(ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
108
109 template <typename ResultType, typename ParamType,
110 typename Result, typename Param>
111 struct query_static_constexpr_member<
112 ex_cq_nr<ResultType, ParamType, Result>, Param,
113 typename asio::enable_if<
114 asio::is_convertible<Param, ParamType>::value
115 >::type>
116 {
117 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
118 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
119
120 typedef Result result_type; // Must return raw result type.
121
valueasio::traits::query_static_constexpr_member122 static ASIO_CONSTEXPR result_type value()
123 {
124 return Result();
125 }
126 };
127
128 #endif // !defined(ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
129
130 } // namespace traits
131 } // namespace asio
132
133 template <typename ResultType, typename ParamType, typename Result>
134 struct ex_mq_nr
135 {
queryex_mq_nr136 ResultType query(ParamType) const ASIO_NOEXCEPT
137 {
138 return Result();
139 }
140
141 template <typename F>
executeex_mq_nr142 void execute(const F&) const
143 {
144 }
145
operator ==(const ex_mq_nr &,const ex_mq_nr &)146 friend bool operator==(const ex_mq_nr&, const ex_mq_nr&) ASIO_NOEXCEPT
147 {
148 return true;
149 }
150
operator !=(const ex_mq_nr &,const ex_mq_nr &)151 friend bool operator!=(const ex_mq_nr&, const ex_mq_nr&) ASIO_NOEXCEPT
152 {
153 return false;
154 }
155 };
156
157 #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
158
159 namespace asio {
160 namespace execution {
161
162 template <typename ResultType, typename ParamType, typename Result>
163 struct is_executor<ex_mq_nr<ResultType, ParamType, Result> >
164 : asio::true_type
165 {
166 };
167
168 } // namespace execution
169 } // namespace asio
170
171 #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
172
173 namespace asio {
174 namespace traits {
175
176 #if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
177
178 template <typename ResultType, typename ParamType,
179 typename Result, typename Param>
180 struct query_member<
181 ex_mq_nr<ResultType, ParamType, Result>, Param,
182 typename asio::enable_if<
183 asio::is_convertible<Param, ParamType>::value
184 >::type>
185 {
186 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
187 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
188
189 typedef ResultType result_type;
190 };
191
192 #endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
193
194 } // namespace traits
195 } // namespace asio
196
197 template <typename ResultType, typename ParamType, typename Result>
198 struct ex_fq_nr
199 {
query(const ex_fq_nr &,ParamType)200 friend ResultType query(const ex_fq_nr&, ParamType) ASIO_NOEXCEPT
201 {
202 return Result();
203 }
204
205 template <typename F>
executeex_fq_nr206 void execute(const F&) const
207 {
208 }
209
operator ==(const ex_fq_nr &,const ex_fq_nr &)210 friend bool operator==(const ex_fq_nr&, const ex_fq_nr&) ASIO_NOEXCEPT
211 {
212 return true;
213 }
214
operator !=(const ex_fq_nr &,const ex_fq_nr &)215 friend bool operator!=(const ex_fq_nr&, const ex_fq_nr&) ASIO_NOEXCEPT
216 {
217 return false;
218 }
219 };
220
221 #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
222
223 namespace asio {
224 namespace execution {
225
226 template <typename ResultType, typename ParamType, typename Result>
227 struct is_executor<ex_fq_nr<ResultType, ParamType, Result> >
228 : asio::true_type
229 {
230 };
231
232 } // namespace execution
233 } // namespace asio
234
235 #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
236
237 namespace asio {
238 namespace traits {
239
240 #if !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT)
241
242 template <typename ResultType, typename ParamType,
243 typename Result, typename Param>
244 struct query_free<
245 ex_fq_nr<ResultType, ParamType, Result>, Param,
246 typename asio::enable_if<
247 asio::is_convertible<Param, ParamType>::value
248 >::type>
249 {
250 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
251 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
252
253 typedef ResultType result_type;
254 };
255
256 #endif // !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT)
257
258 } // namespace traits
259 } // namespace asio
260
261 template <typename CurrentType, typename OtherType>
262 struct ex_mq_mr
263 {
queryex_mq_mr264 CurrentType query(CurrentType) const ASIO_NOEXCEPT
265 {
266 return CurrentType();
267 }
268
queryex_mq_mr269 CurrentType query(OtherType) const ASIO_NOEXCEPT
270 {
271 return CurrentType();
272 }
273
requireex_mq_mr274 ex_mq_mr<CurrentType, OtherType> require(
275 CurrentType) const ASIO_NOEXCEPT
276 {
277 return ex_mq_mr<CurrentType, OtherType>();
278 }
279
requireex_mq_mr280 ex_mq_mr<OtherType, CurrentType> require(
281 OtherType) const ASIO_NOEXCEPT
282 {
283 return ex_mq_mr<OtherType, CurrentType>();
284 }
285
286 template <typename F>
executeex_mq_mr287 void execute(const F&) const
288 {
289 }
290
operator ==(const ex_mq_mr &,const ex_mq_mr &)291 friend bool operator==(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT
292 {
293 return true;
294 }
295
operator !=(const ex_mq_mr &,const ex_mq_mr &)296 friend bool operator!=(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT
297 {
298 return false;
299 }
300 };
301
302 template <typename CurrentType>
303 struct ex_mq_mr<CurrentType, CurrentType>
304 {
queryex_mq_mr305 CurrentType query(CurrentType) const ASIO_NOEXCEPT
306 {
307 return CurrentType();
308 }
309
requireex_mq_mr310 ex_mq_mr<CurrentType, CurrentType> require(
311 CurrentType) const ASIO_NOEXCEPT
312 {
313 return ex_mq_mr<CurrentType, CurrentType>();
314 }
315
316 template <typename F>
executeex_mq_mr317 void execute(const F&) const
318 {
319 }
320
operator ==(const ex_mq_mr &,const ex_mq_mr &)321 friend bool operator==(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT
322 {
323 return true;
324 }
325
operator !=(const ex_mq_mr &,const ex_mq_mr &)326 friend bool operator!=(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT
327 {
328 return false;
329 }
330 };
331
332 #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
333
334 namespace asio {
335 namespace execution {
336
337 template <typename CurrentType, typename OtherType>
338 struct is_executor<ex_mq_mr<CurrentType, OtherType> >
339 : asio::true_type
340 {
341 };
342
343 } // namespace execution
344 } // namespace asio
345
346 #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
347
348 namespace asio {
349 namespace traits {
350
351 #if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
352
353 template <typename CurrentType, typename OtherType, typename Param>
354 struct query_member<
355 ex_mq_mr<CurrentType, OtherType>, Param,
356 typename asio::enable_if<
357 asio::is_convertible<Param, CurrentType>::value
358 || asio::is_convertible<Param, OtherType>::value
359 >::type>
360 {
361 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
362 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
363
364 typedef CurrentType result_type;
365 };
366
367 #endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
368
369 #if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
370
371 template <typename CurrentType, typename OtherType, typename Param>
372 struct require_member<
373 ex_mq_mr<CurrentType, OtherType>, Param,
374 typename asio::enable_if<
375 asio::is_convertible<Param, CurrentType>::value
376 >::type>
377 {
378 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
379 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
380
381 typedef ex_mq_mr<CurrentType, OtherType> result_type;
382 };
383
384 template <typename CurrentType, typename OtherType, typename Param>
385 struct require_member<
386 ex_mq_mr<CurrentType, OtherType>, Param,
387 typename asio::enable_if<
388 asio::is_convertible<Param, OtherType>::value
389 && !asio::is_same<CurrentType, OtherType>::value
390 >::type>
391 {
392 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
393 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
394
395 typedef ex_mq_mr<OtherType, CurrentType> result_type;
396 };
397
398 #endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
399
400 } // namespace traits
401 } // namespace asio
402
403 template <typename CurrentType, typename OtherType>
404 struct ex_fq_fr
405 {
query(const ex_fq_fr &,CurrentType)406 friend CurrentType query(const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT
407 {
408 return CurrentType();
409 }
410
query(const ex_fq_fr &,OtherType)411 friend CurrentType query(const ex_fq_fr&, OtherType) ASIO_NOEXCEPT
412 {
413 return CurrentType();
414 }
415
require(const ex_fq_fr &,CurrentType)416 friend ex_fq_fr<CurrentType, OtherType> require(
417 const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT
418 {
419 return ex_fq_fr<CurrentType, OtherType>();
420 }
421
require(const ex_fq_fr &,OtherType)422 friend ex_fq_fr<OtherType, CurrentType> require(
423 const ex_fq_fr&, OtherType) ASIO_NOEXCEPT
424 {
425 return ex_fq_fr<OtherType, CurrentType>();
426 }
427
prefer(const ex_fq_fr &,CurrentType)428 friend ex_fq_fr<CurrentType, OtherType> prefer(
429 const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT
430 {
431 return ex_fq_fr<CurrentType, OtherType>();
432 }
433
prefer(const ex_fq_fr &,OtherType)434 friend ex_fq_fr<OtherType, CurrentType> prefer(
435 const ex_fq_fr&, OtherType) ASIO_NOEXCEPT
436 {
437 return ex_fq_fr<OtherType, CurrentType>();
438 }
439
440 template <typename F>
executeex_fq_fr441 void execute(const F&) const
442 {
443 }
444
operator ==(const ex_fq_fr &,const ex_fq_fr &)445 friend bool operator==(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT
446 {
447 return true;
448 }
449
operator !=(const ex_fq_fr &,const ex_fq_fr &)450 friend bool operator!=(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT
451 {
452 return false;
453 }
454 };
455
456 template <typename CurrentType>
457 struct ex_fq_fr<CurrentType, CurrentType>
458 {
query(const ex_fq_fr &,CurrentType)459 friend CurrentType query(const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT
460 {
461 return CurrentType();
462 }
463
require(const ex_fq_fr &,CurrentType)464 friend ex_fq_fr<CurrentType, CurrentType> require(
465 const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT
466 {
467 return ex_fq_fr<CurrentType, CurrentType>();
468 }
469
prefer(const ex_fq_fr &,CurrentType)470 friend ex_fq_fr<CurrentType, CurrentType> prefer(
471 const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT
472 {
473 return ex_fq_fr<CurrentType, CurrentType>();
474 }
475
476 template <typename F>
executeex_fq_fr477 void execute(const F&) const
478 {
479 }
480
operator ==(const ex_fq_fr &,const ex_fq_fr &)481 friend bool operator==(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT
482 {
483 return true;
484 }
485
operator !=(const ex_fq_fr &,const ex_fq_fr &)486 friend bool operator!=(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT
487 {
488 return false;
489 }
490 };
491
492 #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
493
494 namespace asio {
495 namespace execution {
496
497 template <typename CurrentType, typename OtherType>
498 struct is_executor<ex_fq_fr<CurrentType, OtherType> >
499 : asio::true_type
500 {
501 };
502
503 } // namespace execution
504 } // namespace asio
505
506 #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT)
507
508 namespace asio {
509 namespace traits {
510
511 #if !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT)
512
513 template <typename CurrentType, typename OtherType, typename Param>
514 struct query_free<
515 ex_fq_fr<CurrentType, OtherType>, Param,
516 typename asio::enable_if<
517 asio::is_convertible<Param, CurrentType>::value
518 || asio::is_convertible<Param, OtherType>::value
519 >::type>
520 {
521 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
522 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
523
524 typedef CurrentType result_type;
525 };
526
527 #endif // !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT)
528
529 #if !defined(ASIO_HAS_DEDUCED_REQUIRE_FREE_TRAIT)
530
531 template <typename CurrentType, typename OtherType, typename Param>
532 struct require_free<
533 ex_fq_fr<CurrentType, OtherType>, Param,
534 typename asio::enable_if<
535 asio::is_convertible<Param, CurrentType>::value
536 >::type>
537 {
538 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
539 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
540
541 typedef ex_fq_fr<CurrentType, OtherType> result_type;
542 };
543
544 template <typename CurrentType, typename OtherType, typename Param>
545 struct require_free<
546 ex_fq_fr<CurrentType, OtherType>, Param,
547 typename asio::enable_if<
548 asio::is_convertible<Param, OtherType>::value
549 && !asio::is_same<CurrentType, OtherType>::value
550 >::type>
551 {
552 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
553 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
554
555 typedef ex_fq_fr<OtherType, CurrentType> result_type;
556 };
557
558 #endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_FREE_TRAIT)
559
560 #if !defined(ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
561
562 template <typename CurrentType, typename OtherType, typename Param>
563 struct prefer_free<
564 ex_fq_fr<CurrentType, OtherType>, Param,
565 typename asio::enable_if<
566 asio::is_convertible<Param, CurrentType>::value
567 >::type>
568 {
569 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
570 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
571
572 typedef ex_fq_fr<CurrentType, OtherType> result_type;
573 };
574
575 template <typename CurrentType, typename OtherType, typename Param>
576 struct prefer_free<
577 ex_fq_fr<CurrentType, OtherType>, Param,
578 typename asio::enable_if<
579 asio::is_convertible<Param, OtherType>::value
580 && !asio::is_same<CurrentType, OtherType>::value
581 >::type>
582 {
583 ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
584 ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
585
586 typedef ex_fq_fr<OtherType, CurrentType> result_type;
587 };
588
589 #endif // !defined(ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
590
591 } // namespace traits
592 } // namespace asio
593
594 template <typename Executor, typename Param, bool ExpectedResult>
test_can_query()595 void test_can_query()
596 {
597 ASIO_CONSTEXPR bool b1 =
598 asio::can_query<Executor, Param>::value;
599 ASIO_CHECK(b1 == ExpectedResult);
600
601 ASIO_CONSTEXPR bool b2 =
602 asio::can_query<const Executor, Param>::value;
603 ASIO_CHECK(b2 == ExpectedResult);
604
605 ASIO_CONSTEXPR bool b3 =
606 asio::can_query<Executor&, Param>::value;
607 ASIO_CHECK(b3 == ExpectedResult);
608
609 ASIO_CONSTEXPR bool b4 =
610 asio::can_query<const Executor&, Param>::value;
611 ASIO_CHECK(b4 == ExpectedResult);
612 }
613
614 template <typename Executor, typename Param, typename ExpectedResult>
test_query()615 void test_query()
616 {
617 exec::mapping_t result1 = asio::query(Executor(), Param());
618 ASIO_CHECK(result1 == ExpectedResult());
619
620 Executor ex1 = {};
621 exec::mapping_t result2 = asio::query(ex1, Param());
622 ASIO_CHECK(result2 == ExpectedResult());
623
624 const Executor ex2 = {};
625 exec::mapping_t result3 = asio::query(ex2, Param());
626 ASIO_CHECK(result3 == ExpectedResult());
627 }
628
629 template <typename Executor, typename Param, typename ExpectedResult>
test_constexpr_query()630 void test_constexpr_query()
631 {
632 #if defined(ASIO_HAS_CONSTEXPR)
633 constexpr Executor ex1 = {};
634 constexpr exec::mapping_t result1 = asio::query(ex1, Param());
635 ASIO_CHECK(result1 == ExpectedResult());
636 #endif // defined(ASIO_HAS_CONSTEXPR)
637 }
638
639 template <typename Executor, typename Param, bool ExpectedResult>
test_can_require()640 void test_can_require()
641 {
642 ASIO_CONSTEXPR bool b1 =
643 asio::can_require<Executor, Param>::value;
644 ASIO_CHECK(b1 == ExpectedResult);
645
646 ASIO_CONSTEXPR bool b2 =
647 asio::can_require<const Executor, Param>::value;
648 ASIO_CHECK(b2 == ExpectedResult);
649
650 ASIO_CONSTEXPR bool b3 =
651 asio::can_require<Executor&, Param>::value;
652 ASIO_CHECK(b3 == ExpectedResult);
653
654 ASIO_CONSTEXPR bool b4 =
655 asio::can_require<const Executor&, Param>::value;
656 ASIO_CHECK(b4 == ExpectedResult);
657 }
658
659 template <typename Executor, typename Param, typename ExpectedResult>
test_require()660 void test_require()
661 {
662 ASIO_CHECK(
663 asio::query(
664 asio::require(Executor(), Param()),
665 Param()) == ExpectedResult());
666
667 Executor ex1 = {};
668 ASIO_CHECK(
669 asio::query(
670 asio::require(ex1, Param()),
671 Param()) == ExpectedResult());
672
673 const Executor ex2 = {};
674 ASIO_CHECK(
675 asio::query(
676 asio::require(ex2, Param()),
677 Param()) == ExpectedResult());
678 }
679
680 template <typename Executor, typename Param, bool ExpectedResult>
test_can_prefer()681 void test_can_prefer()
682 {
683 ASIO_CONSTEXPR bool b1 =
684 asio::can_prefer<Executor, Param>::value;
685 ASIO_CHECK(b1 == ExpectedResult);
686
687 ASIO_CONSTEXPR bool b2 =
688 asio::can_prefer<const Executor, Param>::value;
689 ASIO_CHECK(b2 == ExpectedResult);
690
691 ASIO_CONSTEXPR bool b3 =
692 asio::can_prefer<Executor&, Param>::value;
693 ASIO_CHECK(b3 == ExpectedResult);
694
695 ASIO_CONSTEXPR bool b4 =
696 asio::can_prefer<const Executor&, Param>::value;
697 ASIO_CHECK(b4 == ExpectedResult);
698 }
699
700 template <typename Executor, typename Param, typename ExpectedResult>
test_prefer()701 void test_prefer()
702 {
703 ASIO_CHECK(
704 s(asio::query(
705 asio::prefer(Executor(), Param()),
706 s())) == s(ExpectedResult()));
707
708 Executor ex1 = {};
709 ASIO_CHECK(
710 s(asio::query(
711 asio::prefer(ex1, Param()),
712 s())) == s(ExpectedResult()));
713
714 const Executor ex2 = {};
715 ASIO_CHECK(
716 s(asio::query(
717 asio::prefer(ex2, Param()),
718 s())) == s(ExpectedResult()));
719 }
720
test_vars()721 void test_vars()
722 {
723 ASIO_CHECK(s() == exec::mapping);
724 ASIO_CHECK(n1() == exec::mapping.thread);
725 ASIO_CHECK(n2() == exec::mapping.new_thread);
726 ASIO_CHECK(n3() == exec::mapping.other);
727 }
728
729 ASIO_TEST_SUITE
730 (
731 "mapping",
732
733 ASIO_TEST_CASE3(test_can_query<ex_nq_nr, s, true>)
734 ASIO_TEST_CASE3(test_can_query<ex_nq_nr, n1, true>)
735 ASIO_TEST_CASE3(test_can_query<ex_nq_nr, n2, false>)
736 ASIO_TEST_CASE3(test_can_query<ex_nq_nr, n3, false>)
737
738 ASIO_TEST_CASE3(test_query<ex_nq_nr, s, n1>)
739 ASIO_TEST_CASE3(test_query<ex_nq_nr, n1, n1>)
740
741 ASIO_TEST_CASE3(test_constexpr_query<ex_nq_nr, s, n1>)
742 ASIO_TEST_CASE3(test_constexpr_query<ex_nq_nr, n1, n1>)
743
744 ASIO_TEST_CASE3(test_can_require<ex_nq_nr, s, false>)
745 ASIO_TEST_CASE3(test_can_require<ex_nq_nr, n1, true>)
746 ASIO_TEST_CASE3(test_can_require<ex_nq_nr, n2, false>)
747 ASIO_TEST_CASE3(test_can_require<ex_nq_nr, n3, false>)
748
749 ASIO_TEST_CASE3(test_require<ex_nq_nr, n1, n1>)
750
751 ASIO_TEST_CASE3(test_can_prefer<ex_nq_nr, s, false>)
752 ASIO_TEST_CASE3(test_can_prefer<ex_nq_nr, n1, true>)
753 ASIO_TEST_CASE3(test_can_prefer<ex_nq_nr, n2, true>)
754 ASIO_TEST_CASE3(test_can_prefer<ex_nq_nr, n3, true>)
755
756 ASIO_TEST_CASE3(test_prefer<ex_nq_nr, n1, n1>)
757 ASIO_TEST_CASE3(test_prefer<ex_nq_nr, n2, n1>)
758 ASIO_TEST_CASE3(test_prefer<ex_nq_nr, n3, n1>)
759
760 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n1>, s, true>)
761 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n1>, n1, true>)
762 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n1>, n2, true>)
763 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n1>, n3, true>)
764 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n2>, s, true>)
765 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n2>, n1, true>)
766 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n2>, n2, true>)
767 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n2>, n3, true>)
768 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n3>, s, true>)
769 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n3>, n1, true>)
770 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n3>, n2, true>)
771 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, s, n3>, n3, true>)
772 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n1>, s, true>)
773 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n1>, n1, true>)
774 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n1>, n2, false>)
775 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n1>, n3, false>)
776 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n2>, s, true>)
777 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n2>, n1, true>)
778 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n2>, n2, false>)
779 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n2>, n3, false>)
780 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n3>, s, true>)
781 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n3>, n1, true>)
782 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n3>, n2, false>)
783 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n1, n3>, n3, false>)
784 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n1>, s, true>)
785 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n1>, n1, false>)
786 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n1>, n2, true>)
787 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n1>, n3, false>)
788 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n2>, s, true>)
789 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n2>, n1, false>)
790 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n2>, n2, true>)
791 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n2>, n3, false>)
792 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n3>, s, true>)
793 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n3>, n1, false>)
794 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n3>, n2, true>)
795 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n2, n3>, n3, false>)
796 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n1>, s, true>)
797 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n1>, n1, false>)
798 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n1>, n2, false>)
799 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n1>, n3, true>)
800 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n2>, s, true>)
801 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n2>, n1, false>)
802 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n2>, n2, false>)
803 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n2>, n3, true>)
804 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n3>, s, true>)
805 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n3>, n1, false>)
806 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n3>, n2, false>)
807 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<s, n3, n3>, n3, true>)
808 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n1, s, n1>, s, true>)
809 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n1, s, n1>, n1, true>)
810 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n1, s, n1>, n2, true>)
811 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n1, s, n1>, n3, true>)
812 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n2, s, n2>, s, true>)
813 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n2, s, n2>, n1, true>)
814 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n2, s, n2>, n2, true>)
815 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n2, s, n2>, n3, true>)
816 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n3, s, n3>, s, true>)
817 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n3, s, n3>, n1, true>)
818 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n3, s, n3>, n2, true>)
819 ASIO_TEST_CASE5(test_can_query<ex_cq_nr<n3, s, n3>, n3, true>)
820
821 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n1>, s, n1>)
822 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n1>, n1, n1>)
823 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n1>, n2, n1>)
824 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n1>, n3, n1>)
825 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n2>, s, n2>)
826 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n2>, n1, n2>)
827 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n2>, n2, n2>)
828 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n2>, n3, n2>)
829 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n3>, s, n3>)
830 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n3>, n1, n3>)
831 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n3>, n2, n3>)
832 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, s, n3>, n3, n3>)
833 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n1, n1>, s, n1>)
834 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n1, n1>, n1, n1>)
835 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n1, n2>, s, n2>)
836 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n1, n2>, n1, n2>)
837 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n1, n3>, s, n3>)
838 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n1, n3>, n1, n3>)
839 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n2, n1>, s, n1>)
840 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n2, n1>, n2, n1>)
841 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n2, n2>, s, n2>)
842 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n2, n2>, n2, n2>)
843 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n2, n3>, s, n3>)
844 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n2, n3>, n2, n3>)
845 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n3, n1>, s, n1>)
846 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n3, n1>, n3, n1>)
847 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n3, n2>, s, n2>)
848 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n3, n2>, n3, n2>)
849 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n3, n3>, s, n3>)
850 ASIO_TEST_CASE5(test_query<ex_cq_nr<s, n3, n3>, n3, n3>)
851 ASIO_TEST_CASE5(test_query<ex_cq_nr<n1, s, n1>, s, n1>)
852 ASIO_TEST_CASE5(test_query<ex_cq_nr<n1, s, n1>, n1, n1>)
853 ASIO_TEST_CASE5(test_query<ex_cq_nr<n1, s, n1>, n2, n1>)
854 ASIO_TEST_CASE5(test_query<ex_cq_nr<n1, s, n1>, n3, n1>)
855 ASIO_TEST_CASE5(test_query<ex_cq_nr<n2, s, n2>, s, n2>)
856 ASIO_TEST_CASE5(test_query<ex_cq_nr<n2, s, n2>, n1, n2>)
857 ASIO_TEST_CASE5(test_query<ex_cq_nr<n2, s, n2>, n2, n2>)
858 ASIO_TEST_CASE5(test_query<ex_cq_nr<n2, s, n2>, n3, n2>)
859 ASIO_TEST_CASE5(test_query<ex_cq_nr<n3, s, n3>, s, n3>)
860 ASIO_TEST_CASE5(test_query<ex_cq_nr<n3, s, n3>, n1, n3>)
861 ASIO_TEST_CASE5(test_query<ex_cq_nr<n3, s, n3>, n2, n3>)
862 ASIO_TEST_CASE5(test_query<ex_cq_nr<n3, s, n3>, n3, n3>)
863
864 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n1>, s, n1>)
865 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n1>, n1, n1>)
866 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n1>, n2, n1>)
867 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n1>, n3, n1>)
868 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n2>, s, n2>)
869 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n2>, n1, n2>)
870 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n2>, n2, n2>)
871 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n2>, n3, n2>)
872 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n3>, s, n3>)
873 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n3>, n1, n3>)
874 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n3>, n2, n3>)
875 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, s, n3>, n3, n3>)
876 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n1, n1>, s, n1>)
877 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n1, n1>, n1, n1>)
878 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n1, n2>, s, n2>)
879 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n1, n2>, n1, n2>)
880 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n1, n3>, s, n3>)
881 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n1, n3>, n1, n3>)
882 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n2, n1>, s, n1>)
883 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n2, n1>, n2, n1>)
884 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n2, n2>, s, n2>)
885 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n2, n2>, n2, n2>)
886 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n2, n3>, s, n3>)
887 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n2, n3>, n2, n3>)
888 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n3, n1>, s, n1>)
889 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n3, n1>, n3, n1>)
890 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n3, n2>, s, n2>)
891 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n3, n2>, n3, n2>)
892 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n3, n3>, s, n3>)
893 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<s, n3, n3>, n3, n3>)
894 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n1, s, n1>, s, n1>)
895 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n1, s, n1>, n1, n1>)
896 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n1, s, n1>, n2, n1>)
897 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n1, s, n1>, n3, n1>)
898 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n2, s, n2>, s, n2>)
899 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n2, s, n2>, n1, n2>)
900 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n2, s, n2>, n2, n2>)
901 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n2, s, n2>, n3, n2>)
902 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n3, s, n3>, s, n3>)
903 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n3, s, n3>, n1, n3>)
904 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n3, s, n3>, n2, n3>)
905 ASIO_TEST_CASE5(test_constexpr_query<ex_cq_nr<n3, s, n3>, n3, n3>)
906
907 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n1>, s, false>)
908 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n1>, n1, true>)
909 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n1>, n2, false>)
910 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n1>, n3, false>)
911 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n2>, s, false>)
912 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n2>, n1, false>)
913 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n2>, n2, true>)
914 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n2>, n3, false>)
915 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n3>, s, false>)
916 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n3>, n1, false>)
917 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n3>, n2, false>)
918 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, s, n3>, n3, true>)
919 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n1>, s, false>)
920 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n1>, n1, true>)
921 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n1>, n2, false>)
922 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n1>, n3, false>)
923 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n2>, s, false>)
924 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n2>, n1, false>)
925 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n2>, n2, false>)
926 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n2>, n3, false>)
927 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n3>, s, false>)
928 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n3>, n1, false>)
929 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n3>, n2, false>)
930 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n1, n3>, n3, false>)
931 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n1>, s, false>)
932 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n1>, n1, false>)
933 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n1>, n2, false>)
934 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n1>, n3, false>)
935 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n2>, s, false>)
936 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n2>, n1, false>)
937 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n2>, n2, true>)
938 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n2>, n3, false>)
939 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n3>, s, false>)
940 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n3>, n1, false>)
941 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n3>, n2, false>)
942 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n2, n3>, n3, false>)
943 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n1>, s, false>)
944 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n1>, n1, false>)
945 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n1>, n2, false>)
946 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n1>, n3, false>)
947 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n2>, s, false>)
948 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n2>, n1, false>)
949 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n2>, n2, false>)
950 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n2>, n3, false>)
951 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n3>, s, false>)
952 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n3>, n1, false>)
953 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n3>, n2, false>)
954 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<s, n3, n3>, n3, true>)
955 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n1, s, n1>, s, false>)
956 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n1, s, n1>, n1, true>)
957 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n1, s, n1>, n2, false>)
958 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n1, s, n1>, n3, false>)
959 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n2, s, n2>, s, false>)
960 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n2, s, n2>, n1, false>)
961 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n2, s, n2>, n2, true>)
962 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n2, s, n2>, n3, false>)
963 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n3, s, n3>, s, false>)
964 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n3, s, n3>, n1, false>)
965 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n3, s, n3>, n2, false>)
966 ASIO_TEST_CASE5(test_can_require<ex_cq_nr<n3, s, n3>, n3, true>)
967
968 ASIO_TEST_CASE5(test_require<ex_cq_nr<s, s, n1>, n1, n1>)
969 ASIO_TEST_CASE5(test_require<ex_cq_nr<s, s, n2>, n2, n2>)
970 ASIO_TEST_CASE5(test_require<ex_cq_nr<s, s, n3>, n3, n3>)
971 ASIO_TEST_CASE5(test_require<ex_cq_nr<s, n1, n1>, n1, n1>)
972 ASIO_TEST_CASE5(test_require<ex_cq_nr<s, n2, n2>, n2, n2>)
973 ASIO_TEST_CASE5(test_require<ex_cq_nr<s, n3, n3>, n3, n3>)
974 ASIO_TEST_CASE5(test_require<ex_cq_nr<n1, s, n1>, n1, n1>)
975 ASIO_TEST_CASE5(test_require<ex_cq_nr<n2, s, n2>, n2, n2>)
976 ASIO_TEST_CASE5(test_require<ex_cq_nr<n3, s, n3>, n3, n3>)
977
978 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n1>, s, false>)
979 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n1>, n1, true>)
980 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n1>, n2, true>)
981 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n1>, n3, true>)
982 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n2>, s, false>)
983 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n2>, n1, true>)
984 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n2>, n2, true>)
985 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n2>, n3, true>)
986 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n3>, s, false>)
987 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n3>, n1, true>)
988 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n3>, n2, true>)
989 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, s, n3>, n3, true>)
990 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n1>, s, false>)
991 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n1>, n1, true>)
992 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n1>, n2, true>)
993 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n1>, n3, true>)
994 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n2>, s, false>)
995 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n2>, n1, true>)
996 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n2>, n2, true>)
997 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n2>, n3, true>)
998 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n3>, s, false>)
999 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n3>, n1, true>)
1000 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n3>, n2, true>)
1001 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n1, n3>, n3, true>)
1002 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n1>, s, false>)
1003 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n1>, n1, true>)
1004 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n1>, n2, true>)
1005 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n1>, n3, true>)
1006 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n2>, s, false>)
1007 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n2>, n1, true>)
1008 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n2>, n2, true>)
1009 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n2>, n3, true>)
1010 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n3>, s, false>)
1011 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n3>, n1, true>)
1012 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n3>, n2, true>)
1013 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n2, n3>, n3, true>)
1014 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n1>, s, false>)
1015 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n1>, n1, true>)
1016 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n1>, n2, true>)
1017 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n1>, n3, true>)
1018 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n2>, s, false>)
1019 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n2>, n1, true>)
1020 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n2>, n2, true>)
1021 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n2>, n3, true>)
1022 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n3>, s, false>)
1023 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n3>, n1, true>)
1024 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n3>, n2, true>)
1025 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<s, n3, n3>, n3, true>)
1026 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n1, s, n1>, s, false>)
1027 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n1, s, n1>, n1, true>)
1028 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n1, s, n1>, n2, true>)
1029 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n1, s, n1>, n3, true>)
1030 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n2, s, n2>, s, false>)
1031 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n2, s, n2>, n1, true>)
1032 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n2, s, n2>, n2, true>)
1033 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n2, s, n2>, n3, true>)
1034 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n3, s, n3>, s, false>)
1035 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n3, s, n3>, n1, true>)
1036 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n3, s, n3>, n2, true>)
1037 ASIO_TEST_CASE5(test_can_prefer<ex_cq_nr<n3, s, n3>, n3, true>)
1038
1039 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n1>, n1, n1>)
1040 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n1>, n2, n1>)
1041 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n1>, n3, n1>)
1042 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n2>, n1, n2>)
1043 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n2>, n2, n2>)
1044 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n2>, n3, n2>)
1045 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n3>, n1, n3>)
1046 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n3>, n2, n3>)
1047 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, s, n3>, n3, n3>)
1048 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n1>, n1, n1>)
1049 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n1>, n2, n1>)
1050 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n1>, n3, n1>)
1051 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n2>, n1, n2>)
1052 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n2>, n2, n2>)
1053 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n2>, n3, n2>)
1054 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n3>, n1, n3>)
1055 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n3>, n2, n3>)
1056 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n1, n3>, n3, n3>)
1057 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n1>, n1, n1>)
1058 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n1>, n2, n1>)
1059 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n1>, n3, n1>)
1060 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n2>, n1, n2>)
1061 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n2>, n2, n2>)
1062 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n2>, n3, n2>)
1063 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n3>, n1, n3>)
1064 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n3>, n2, n3>)
1065 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n2, n3>, n3, n3>)
1066 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n1>, n1, n1>)
1067 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n1>, n2, n1>)
1068 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n1>, n3, n1>)
1069 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n2>, n1, n2>)
1070 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n2>, n2, n2>)
1071 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n2>, n3, n2>)
1072 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n3>, n1, n3>)
1073 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n3>, n2, n3>)
1074 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<s, n3, n3>, n3, n3>)
1075 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n1, s, n1>, n1, n1>)
1076 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n1, s, n1>, n2, n1>)
1077 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n1, s, n1>, n3, n1>)
1078 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n2, s, n2>, n1, n2>)
1079 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n2, s, n2>, n2, n2>)
1080 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n2, s, n2>, n3, n2>)
1081 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n3, s, n3>, n1, n3>)
1082 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n3, s, n3>, n2, n3>)
1083 ASIO_TEST_CASE5(test_prefer<ex_cq_nr<n3, s, n3>, n3, n3>)
1084
1085 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n1>, s, true>)
1086 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n1>, n1, true>)
1087 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n1>, n2, true>)
1088 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n1>, n3, true>)
1089 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n2>, s, true>)
1090 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n2>, n1, true>)
1091 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n2>, n2, true>)
1092 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n2>, n3, true>)
1093 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n3>, s, true>)
1094 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n3>, n1, true>)
1095 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n3>, n2, true>)
1096 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, s, n3>, n3, true>)
1097 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n1>, s, true>)
1098 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n1>, n1, true>)
1099 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n1>, n2, false>)
1100 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n1>, n3, false>)
1101 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n2>, s, true>)
1102 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n2>, n1, true>)
1103 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n2>, n2, false>)
1104 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n2>, n3, false>)
1105 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n3>, s, true>)
1106 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n3>, n1, true>)
1107 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n3>, n2, false>)
1108 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n1, n3>, n3, false>)
1109 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n1>, s, true>)
1110 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n1>, n1, false>)
1111 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n1>, n2, true>)
1112 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n1>, n3, false>)
1113 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n2>, s, true>)
1114 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n2>, n1, false>)
1115 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n2>, n2, true>)
1116 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n2>, n3, false>)
1117 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n3>, s, true>)
1118 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n3>, n1, false>)
1119 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n3>, n2, true>)
1120 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n2, n3>, n3, false>)
1121 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n1>, s, true>)
1122 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n1>, n1, false>)
1123 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n1>, n2, false>)
1124 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n1>, n3, true>)
1125 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n2>, s, true>)
1126 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n2>, n1, false>)
1127 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n2>, n2, false>)
1128 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n2>, n3, true>)
1129 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n3>, s, true>)
1130 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n3>, n1, false>)
1131 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n3>, n2, false>)
1132 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<s, n3, n3>, n3, true>)
1133 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n1, s, n1>, s, true>)
1134 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n1, s, n1>, n1, true>)
1135 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n1, s, n1>, n2, true>)
1136 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n1, s, n1>, n3, true>)
1137 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n2, s, n2>, s, true>)
1138 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n2, s, n2>, n1, true>)
1139 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n2, s, n2>, n2, true>)
1140 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n2, s, n2>, n3, true>)
1141 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n3, s, n3>, s, true>)
1142 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n3, s, n3>, n1, true>)
1143 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n3, s, n3>, n2, true>)
1144 ASIO_TEST_CASE5(test_can_query<ex_mq_nr<n3, s, n3>, n3, true>)
1145
1146 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n1>, s, n1>)
1147 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n1>, n1, n1>)
1148 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n1>, n2, n1>)
1149 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n1>, n3, n1>)
1150 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n2>, s, n2>)
1151 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n2>, n1, n2>)
1152 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n2>, n2, n2>)
1153 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n2>, n3, n2>)
1154 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n3>, s, n3>)
1155 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n3>, n1, n3>)
1156 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n3>, n2, n3>)
1157 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, s, n3>, n3, n3>)
1158 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n1, n1>, s, n1>)
1159 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n1, n1>, n1, n1>)
1160 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n1, n2>, s, n2>)
1161 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n1, n2>, n1, n2>)
1162 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n1, n3>, s, n3>)
1163 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n1, n3>, n1, n3>)
1164 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n2, n1>, s, n1>)
1165 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n2, n1>, n2, n1>)
1166 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n2, n2>, s, n2>)
1167 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n2, n2>, n2, n2>)
1168 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n2, n3>, s, n3>)
1169 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n2, n3>, n2, n3>)
1170 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n3, n1>, s, n1>)
1171 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n3, n1>, n3, n1>)
1172 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n3, n2>, s, n2>)
1173 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n3, n2>, n3, n2>)
1174 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n3, n3>, s, n3>)
1175 ASIO_TEST_CASE5(test_query<ex_mq_nr<s, n3, n3>, n3, n3>)
1176 ASIO_TEST_CASE5(test_query<ex_mq_nr<n1, s, n1>, s, n1>)
1177 ASIO_TEST_CASE5(test_query<ex_mq_nr<n1, s, n1>, n1, n1>)
1178 ASIO_TEST_CASE5(test_query<ex_mq_nr<n1, s, n1>, n2, n1>)
1179 ASIO_TEST_CASE5(test_query<ex_mq_nr<n1, s, n1>, n3, n1>)
1180 ASIO_TEST_CASE5(test_query<ex_mq_nr<n2, s, n2>, s, n2>)
1181 ASIO_TEST_CASE5(test_query<ex_mq_nr<n2, s, n2>, n1, n2>)
1182 ASIO_TEST_CASE5(test_query<ex_mq_nr<n2, s, n2>, n2, n2>)
1183 ASIO_TEST_CASE5(test_query<ex_mq_nr<n2, s, n2>, n3, n2>)
1184 ASIO_TEST_CASE5(test_query<ex_mq_nr<n3, s, n3>, s, n3>)
1185 ASIO_TEST_CASE5(test_query<ex_mq_nr<n3, s, n3>, n1, n3>)
1186 ASIO_TEST_CASE5(test_query<ex_mq_nr<n3, s, n3>, n2, n3>)
1187 ASIO_TEST_CASE5(test_query<ex_mq_nr<n3, s, n3>, n3, n3>)
1188
1189 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n1>, s, false>)
1190 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n1>, n1, false>)
1191 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n1>, n2, false>)
1192 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n1>, n3, false>)
1193 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n2>, s, false>)
1194 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n2>, n1, false>)
1195 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n2>, n2, false>)
1196 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n2>, n3, false>)
1197 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n3>, s, false>)
1198 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n3>, n1, false>)
1199 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n3>, n2, false>)
1200 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, s, n3>, n3, false>)
1201 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n1>, s, false>)
1202 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n1>, n1, false>)
1203 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n1>, n2, false>)
1204 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n1>, n3, false>)
1205 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n2>, s, false>)
1206 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n2>, n1, false>)
1207 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n2>, n2, false>)
1208 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n2>, n3, false>)
1209 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n3>, s, false>)
1210 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n3>, n1, false>)
1211 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n3>, n2, false>)
1212 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n1, n3>, n3, false>)
1213 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n1>, s, false>)
1214 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n1>, n1, false>)
1215 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n1>, n2, false>)
1216 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n1>, n3, false>)
1217 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n2>, s, false>)
1218 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n2>, n1, false>)
1219 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n2>, n2, false>)
1220 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n2>, n3, false>)
1221 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n3>, s, false>)
1222 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n3>, n1, false>)
1223 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n3>, n2, false>)
1224 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n2, n3>, n3, false>)
1225 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n1>, s, false>)
1226 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n1>, n1, false>)
1227 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n1>, n2, false>)
1228 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n1>, n3, false>)
1229 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n2>, s, false>)
1230 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n2>, n1, false>)
1231 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n2>, n2, false>)
1232 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n2>, n3, false>)
1233 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n3>, s, false>)
1234 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n3>, n1, false>)
1235 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n3>, n2, false>)
1236 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<s, n3, n3>, n3, false>)
1237 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n1, s, n1>, s, false>)
1238 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n1, s, n1>, n1, false>)
1239 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n1, s, n1>, n2, false>)
1240 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n1, s, n1>, n3, false>)
1241 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n2, s, n2>, s, false>)
1242 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n2, s, n2>, n1, false>)
1243 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n2, s, n2>, n2, false>)
1244 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n2, s, n2>, n3, false>)
1245 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n3, s, n3>, s, false>)
1246 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n3, s, n3>, n1, false>)
1247 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n3, s, n3>, n2, false>)
1248 ASIO_TEST_CASE5(test_can_require<ex_mq_nr<n3, s, n3>, n3, false>)
1249
1250 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n1>, s, false>)
1251 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n1>, n1, true>)
1252 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n1>, n2, true>)
1253 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n1>, n3, true>)
1254 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n2>, s, false>)
1255 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n2>, n1, true>)
1256 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n2>, n2, true>)
1257 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n2>, n3, true>)
1258 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n3>, s, false>)
1259 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n3>, n1, true>)
1260 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n3>, n2, true>)
1261 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, s, n3>, n3, true>)
1262 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n1>, s, false>)
1263 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n1>, n1, true>)
1264 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n1>, n2, true>)
1265 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n1>, n3, true>)
1266 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n2>, s, false>)
1267 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n2>, n1, true>)
1268 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n2>, n2, true>)
1269 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n2>, n3, true>)
1270 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n3>, s, false>)
1271 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n3>, n1, true>)
1272 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n3>, n2, true>)
1273 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n1, n3>, n3, true>)
1274 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n1>, s, false>)
1275 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n1>, n1, true>)
1276 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n1>, n2, true>)
1277 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n1>, n3, true>)
1278 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n2>, s, false>)
1279 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n2>, n1, true>)
1280 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n2>, n2, true>)
1281 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n2>, n3, true>)
1282 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n3>, s, false>)
1283 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n3>, n1, true>)
1284 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n3>, n2, true>)
1285 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n2, n3>, n3, true>)
1286 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n1>, s, false>)
1287 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n1>, n1, true>)
1288 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n1>, n2, true>)
1289 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n1>, n3, true>)
1290 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n2>, s, false>)
1291 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n2>, n1, true>)
1292 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n2>, n2, true>)
1293 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n2>, n3, true>)
1294 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n3>, s, false>)
1295 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n3>, n1, true>)
1296 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n3>, n2, true>)
1297 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<s, n3, n3>, n3, true>)
1298 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n1, s, n1>, s, false>)
1299 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n1, s, n1>, n1, true>)
1300 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n1, s, n1>, n2, true>)
1301 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n1, s, n1>, n3, true>)
1302 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n2, s, n2>, s, false>)
1303 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n2, s, n2>, n1, true>)
1304 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n2, s, n2>, n2, true>)
1305 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n2, s, n2>, n3, true>)
1306 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n3, s, n3>, s, false>)
1307 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n3, s, n3>, n1, true>)
1308 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n3, s, n3>, n2, true>)
1309 ASIO_TEST_CASE5(test_can_prefer<ex_mq_nr<n3, s, n3>, n3, true>)
1310
1311 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n1>, n1, n1>)
1312 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n1>, n2, n1>)
1313 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n1>, n3, n1>)
1314 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n2>, n1, n2>)
1315 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n2>, n2, n2>)
1316 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n2>, n3, n2>)
1317 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n3>, n1, n3>)
1318 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n3>, n2, n3>)
1319 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, s, n3>, n3, n3>)
1320 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n1>, n1, n1>)
1321 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n1>, n2, n1>)
1322 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n1>, n3, n1>)
1323 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n2>, n1, n2>)
1324 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n2>, n2, n2>)
1325 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n2>, n3, n2>)
1326 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n3>, n1, n3>)
1327 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n3>, n2, n3>)
1328 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n1, n3>, n3, n3>)
1329 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n1>, n1, n1>)
1330 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n1>, n2, n1>)
1331 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n1>, n3, n1>)
1332 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n2>, n1, n2>)
1333 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n2>, n2, n2>)
1334 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n2>, n3, n2>)
1335 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n3>, n1, n3>)
1336 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n3>, n2, n3>)
1337 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n2, n3>, n3, n3>)
1338 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n1>, n1, n1>)
1339 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n1>, n2, n1>)
1340 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n1>, n3, n1>)
1341 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n2>, n1, n2>)
1342 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n2>, n2, n2>)
1343 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n2>, n3, n2>)
1344 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n3>, n1, n3>)
1345 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n3>, n2, n3>)
1346 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<s, n3, n3>, n3, n3>)
1347 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n1, s, n1>, n1, n1>)
1348 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n1, s, n1>, n2, n1>)
1349 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n1, s, n1>, n3, n1>)
1350 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n2, s, n2>, n1, n2>)
1351 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n2, s, n2>, n2, n2>)
1352 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n2, s, n2>, n3, n2>)
1353 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n3, s, n3>, n1, n3>)
1354 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n3, s, n3>, n2, n3>)
1355 ASIO_TEST_CASE5(test_prefer<ex_mq_nr<n3, s, n3>, n3, n3>)
1356
1357 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n1>, s, true>)
1358 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n1>, n1, true>)
1359 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n1>, n2, true>)
1360 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n1>, n3, true>)
1361 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n2>, s, true>)
1362 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n2>, n1, true>)
1363 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n2>, n2, true>)
1364 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n2>, n3, true>)
1365 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n3>, s, true>)
1366 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n3>, n1, true>)
1367 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n3>, n2, true>)
1368 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, s, n3>, n3, true>)
1369 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n1>, s, true>)
1370 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n1>, n1, true>)
1371 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n1>, n2, false>)
1372 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n1>, n3, false>)
1373 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n2>, s, true>)
1374 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n2>, n1, true>)
1375 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n2>, n2, false>)
1376 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n2>, n3, false>)
1377 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n3>, s, true>)
1378 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n3>, n1, true>)
1379 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n3>, n2, false>)
1380 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n1, n3>, n3, false>)
1381 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n1>, s, true>)
1382 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n1>, n1, false>)
1383 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n1>, n2, true>)
1384 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n1>, n3, false>)
1385 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n2>, s, true>)
1386 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n2>, n1, false>)
1387 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n2>, n2, true>)
1388 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n2>, n3, false>)
1389 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n3>, s, true>)
1390 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n3>, n1, false>)
1391 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n3>, n2, true>)
1392 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n2, n3>, n3, false>)
1393 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n1>, s, true>)
1394 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n1>, n1, false>)
1395 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n1>, n2, false>)
1396 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n1>, n3, true>)
1397 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n2>, s, true>)
1398 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n2>, n1, false>)
1399 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n2>, n2, false>)
1400 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n2>, n3, true>)
1401 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n3>, s, true>)
1402 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n3>, n1, false>)
1403 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n3>, n2, false>)
1404 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<s, n3, n3>, n3, true>)
1405 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n1, s, n1>, s, true>)
1406 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n1, s, n1>, n1, true>)
1407 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n1, s, n1>, n2, true>)
1408 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n1, s, n1>, n3, true>)
1409 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n2, s, n2>, s, true>)
1410 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n2, s, n2>, n1, true>)
1411 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n2, s, n2>, n2, true>)
1412 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n2, s, n2>, n3, true>)
1413 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n3, s, n3>, s, true>)
1414 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n3, s, n3>, n1, true>)
1415 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n3, s, n3>, n2, true>)
1416 ASIO_TEST_CASE5(test_can_query<ex_fq_nr<n3, s, n3>, n3, true>)
1417
1418 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n1>, s, n1>)
1419 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n1>, n1, n1>)
1420 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n1>, n2, n1>)
1421 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n1>, n3, n1>)
1422 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n2>, s, n2>)
1423 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n2>, n1, n2>)
1424 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n2>, n2, n2>)
1425 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n2>, n3, n2>)
1426 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n3>, s, n3>)
1427 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n3>, n1, n3>)
1428 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n3>, n2, n3>)
1429 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, s, n3>, n3, n3>)
1430 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n1, n1>, s, n1>)
1431 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n1, n1>, n1, n1>)
1432 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n1, n2>, s, n2>)
1433 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n1, n2>, n1, n2>)
1434 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n1, n3>, s, n3>)
1435 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n1, n3>, n1, n3>)
1436 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n2, n1>, s, n1>)
1437 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n2, n1>, n2, n1>)
1438 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n2, n2>, s, n2>)
1439 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n2, n2>, n2, n2>)
1440 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n2, n3>, s, n3>)
1441 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n2, n3>, n2, n3>)
1442 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n3, n1>, s, n1>)
1443 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n3, n1>, n3, n1>)
1444 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n3, n2>, s, n2>)
1445 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n3, n2>, n3, n2>)
1446 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n3, n3>, s, n3>)
1447 ASIO_TEST_CASE5(test_query<ex_fq_nr<s, n3, n3>, n3, n3>)
1448 ASIO_TEST_CASE5(test_query<ex_fq_nr<n1, s, n1>, s, n1>)
1449 ASIO_TEST_CASE5(test_query<ex_fq_nr<n1, s, n1>, n1, n1>)
1450 ASIO_TEST_CASE5(test_query<ex_fq_nr<n1, s, n1>, n2, n1>)
1451 ASIO_TEST_CASE5(test_query<ex_fq_nr<n1, s, n1>, n3, n1>)
1452 ASIO_TEST_CASE5(test_query<ex_fq_nr<n2, s, n2>, s, n2>)
1453 ASIO_TEST_CASE5(test_query<ex_fq_nr<n2, s, n2>, n1, n2>)
1454 ASIO_TEST_CASE5(test_query<ex_fq_nr<n2, s, n2>, n2, n2>)
1455 ASIO_TEST_CASE5(test_query<ex_fq_nr<n2, s, n2>, n3, n2>)
1456 ASIO_TEST_CASE5(test_query<ex_fq_nr<n3, s, n3>, s, n3>)
1457 ASIO_TEST_CASE5(test_query<ex_fq_nr<n3, s, n3>, n1, n3>)
1458 ASIO_TEST_CASE5(test_query<ex_fq_nr<n3, s, n3>, n2, n3>)
1459 ASIO_TEST_CASE5(test_query<ex_fq_nr<n3, s, n3>, n3, n3>)
1460
1461 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n1>, s, false>)
1462 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n1>, n1, false>)
1463 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n1>, n2, false>)
1464 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n1>, n3, false>)
1465 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n2>, s, false>)
1466 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n2>, n1, false>)
1467 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n2>, n2, false>)
1468 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n2>, n3, false>)
1469 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n3>, s, false>)
1470 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n3>, n1, false>)
1471 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n3>, n2, false>)
1472 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, s, n3>, n3, false>)
1473 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n1>, s, false>)
1474 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n1>, n1, false>)
1475 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n1>, n2, false>)
1476 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n1>, n3, false>)
1477 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n2>, s, false>)
1478 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n2>, n1, false>)
1479 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n2>, n2, false>)
1480 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n2>, n3, false>)
1481 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n3>, s, false>)
1482 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n3>, n1, false>)
1483 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n3>, n2, false>)
1484 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n1, n3>, n3, false>)
1485 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n1>, s, false>)
1486 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n1>, n1, false>)
1487 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n1>, n2, false>)
1488 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n1>, n3, false>)
1489 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n2>, s, false>)
1490 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n2>, n1, false>)
1491 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n2>, n2, false>)
1492 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n2>, n3, false>)
1493 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n3>, s, false>)
1494 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n3>, n1, false>)
1495 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n3>, n2, false>)
1496 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n2, n3>, n3, false>)
1497 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n1>, s, false>)
1498 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n1>, n1, false>)
1499 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n1>, n2, false>)
1500 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n1>, n3, false>)
1501 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n2>, s, false>)
1502 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n2>, n1, false>)
1503 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n2>, n2, false>)
1504 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n2>, n3, false>)
1505 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n3>, s, false>)
1506 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n3>, n1, false>)
1507 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n3>, n2, false>)
1508 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<s, n3, n3>, n3, false>)
1509 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n1, s, n1>, s, false>)
1510 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n1, s, n1>, n1, false>)
1511 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n1, s, n1>, n2, false>)
1512 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n1, s, n1>, n3, false>)
1513 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n2, s, n2>, s, false>)
1514 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n2, s, n2>, n1, false>)
1515 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n2, s, n2>, n2, false>)
1516 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n2, s, n2>, n3, false>)
1517 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n3, s, n3>, s, false>)
1518 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n3, s, n3>, n1, false>)
1519 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n3, s, n3>, n2, false>)
1520 ASIO_TEST_CASE5(test_can_require<ex_fq_nr<n3, s, n3>, n3, false>)
1521
1522 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n1>, s, false>)
1523 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n1>, n1, true>)
1524 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n1>, n2, true>)
1525 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n1>, n3, true>)
1526 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n2>, s, false>)
1527 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n2>, n1, true>)
1528 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n2>, n2, true>)
1529 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n2>, n3, true>)
1530 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n3>, s, false>)
1531 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n3>, n1, true>)
1532 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n3>, n2, true>)
1533 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, s, n3>, n3, true>)
1534 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n1>, s, false>)
1535 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n1>, n1, true>)
1536 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n1>, n2, true>)
1537 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n1>, n3, true>)
1538 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n2>, s, false>)
1539 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n2>, n1, true>)
1540 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n2>, n2, true>)
1541 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n2>, n3, true>)
1542 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n3>, s, false>)
1543 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n3>, n1, true>)
1544 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n3>, n2, true>)
1545 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n1, n3>, n3, true>)
1546 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n1>, s, false>)
1547 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n1>, n1, true>)
1548 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n1>, n2, true>)
1549 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n1>, n3, true>)
1550 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n2>, s, false>)
1551 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n2>, n1, true>)
1552 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n2>, n2, true>)
1553 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n2>, n3, true>)
1554 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n3>, s, false>)
1555 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n3>, n1, true>)
1556 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n3>, n2, true>)
1557 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n2, n3>, n3, true>)
1558 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n1>, s, false>)
1559 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n1>, n1, true>)
1560 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n1>, n2, true>)
1561 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n1>, n3, true>)
1562 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n2>, s, false>)
1563 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n2>, n1, true>)
1564 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n2>, n2, true>)
1565 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n2>, n3, true>)
1566 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n3>, s, false>)
1567 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n3>, n1, true>)
1568 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n3>, n2, true>)
1569 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<s, n3, n3>, n3, true>)
1570 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n1, s, n1>, s, false>)
1571 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n1, s, n1>, n1, true>)
1572 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n1, s, n1>, n2, true>)
1573 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n1, s, n1>, n3, true>)
1574 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n2, s, n2>, s, false>)
1575 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n2, s, n2>, n1, true>)
1576 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n2, s, n2>, n2, true>)
1577 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n2, s, n2>, n3, true>)
1578 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n3, s, n3>, s, false>)
1579 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n3, s, n3>, n1, true>)
1580 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n3, s, n3>, n2, true>)
1581 ASIO_TEST_CASE5(test_can_prefer<ex_fq_nr<n3, s, n3>, n3, true>)
1582
1583 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n1>, n1, n1>)
1584 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n1>, n2, n1>)
1585 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n1>, n3, n1>)
1586 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n2>, n1, n2>)
1587 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n2>, n2, n2>)
1588 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n2>, n3, n2>)
1589 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n3>, n1, n3>)
1590 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n3>, n2, n3>)
1591 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, s, n3>, n3, n3>)
1592 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n1>, n1, n1>)
1593 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n1>, n2, n1>)
1594 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n1>, n3, n1>)
1595 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n2>, n1, n2>)
1596 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n2>, n2, n2>)
1597 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n2>, n3, n2>)
1598 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n3>, n1, n3>)
1599 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n3>, n2, n3>)
1600 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n1, n3>, n3, n3>)
1601 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n1>, n1, n1>)
1602 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n1>, n2, n1>)
1603 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n1>, n3, n1>)
1604 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n2>, n1, n2>)
1605 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n2>, n2, n2>)
1606 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n2>, n3, n2>)
1607 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n3>, n1, n3>)
1608 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n3>, n2, n3>)
1609 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n2, n3>, n3, n3>)
1610 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n1>, n1, n1>)
1611 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n1>, n2, n1>)
1612 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n1>, n3, n1>)
1613 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n2>, n1, n2>)
1614 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n2>, n2, n2>)
1615 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n2>, n3, n2>)
1616 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n3>, n1, n3>)
1617 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n3>, n2, n3>)
1618 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<s, n3, n3>, n3, n3>)
1619 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n1, s, n1>, n1, n1>)
1620 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n1, s, n1>, n2, n1>)
1621 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n1, s, n1>, n3, n1>)
1622 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n2, s, n2>, n1, n2>)
1623 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n2, s, n2>, n2, n2>)
1624 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n2, s, n2>, n3, n2>)
1625 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n3, s, n3>, n1, n3>)
1626 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n3, s, n3>, n2, n3>)
1627 ASIO_TEST_CASE5(test_prefer<ex_fq_nr<n3, s, n3>, n3, n3>)
1628
1629 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n1>, s, true>)
1630 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n1>, n1, true>)
1631 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n1>, n2, false>)
1632 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n1>, n3, false>)
1633 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n2>, s, true>)
1634 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n2>, n1, true>)
1635 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n2>, n2, true>)
1636 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n2>, n3, false>)
1637 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n3>, s, true>)
1638 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n3>, n1, true>)
1639 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n3>, n2, false>)
1640 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n1, n3>, n3, true>)
1641 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n1>, s, true>)
1642 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n1>, n1, true>)
1643 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n1>, n2, true>)
1644 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n1>, n3, false>)
1645 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n2>, s, true>)
1646 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n2>, n1, false>)
1647 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n2>, n2, true>)
1648 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n2>, n3, false>)
1649 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n3>, s, true>)
1650 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n3>, n1, false>)
1651 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n3>, n2, true>)
1652 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n2, n3>, n3, true>)
1653 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n1>, s, true>)
1654 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n1>, n1, true>)
1655 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n1>, n2, false>)
1656 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n1>, n3, true>)
1657 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n2>, s, true>)
1658 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n2>, n1, false>)
1659 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n2>, n2, true>)
1660 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n2>, n3, true>)
1661 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n3>, s, true>)
1662 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n3>, n1, false>)
1663 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n3>, n2, false>)
1664 ASIO_TEST_CASE4(test_can_query<ex_mq_mr<n3, n3>, n3, true>)
1665
1666 ASIO_TEST_CASE4(test_query<ex_mq_mr<n1, n1>, s, n1>)
1667 ASIO_TEST_CASE4(test_query<ex_mq_mr<n1, n1>, n1, n1>)
1668 ASIO_TEST_CASE4(test_query<ex_mq_mr<n1, n2>, s, n1>)
1669 ASIO_TEST_CASE4(test_query<ex_mq_mr<n1, n2>, n1, n1>)
1670 ASIO_TEST_CASE4(test_query<ex_mq_mr<n1, n3>, s, n1>)
1671 ASIO_TEST_CASE4(test_query<ex_mq_mr<n1, n3>, n1, n1>)
1672 ASIO_TEST_CASE4(test_query<ex_mq_mr<n2, n1>, s, n2>)
1673 ASIO_TEST_CASE4(test_query<ex_mq_mr<n2, n1>, n2, n2>)
1674 ASIO_TEST_CASE4(test_query<ex_mq_mr<n2, n2>, s, n2>)
1675 ASIO_TEST_CASE4(test_query<ex_mq_mr<n2, n2>, n2, n2>)
1676 ASIO_TEST_CASE4(test_query<ex_mq_mr<n2, n3>, s, n2>)
1677 ASIO_TEST_CASE4(test_query<ex_mq_mr<n2, n3>, n2, n2>)
1678 ASIO_TEST_CASE4(test_query<ex_mq_mr<n3, n1>, s, n3>)
1679 ASIO_TEST_CASE4(test_query<ex_mq_mr<n3, n1>, n3, n3>)
1680 ASIO_TEST_CASE4(test_query<ex_mq_mr<n3, n2>, s, n3>)
1681 ASIO_TEST_CASE4(test_query<ex_mq_mr<n3, n2>, n3, n3>)
1682 ASIO_TEST_CASE4(test_query<ex_mq_mr<n3, n3>, s, n3>)
1683 ASIO_TEST_CASE4(test_query<ex_mq_mr<n3, n3>, n3, n3>)
1684
1685 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n1>, s, false>)
1686 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n1>, n1, true>)
1687 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n1>, n2, false>)
1688 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n1>, n3, false>)
1689 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n2>, s, false>)
1690 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n2>, n1, true>)
1691 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n2>, n2, true>)
1692 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n2>, n3, false>)
1693 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n3>, s, false>)
1694 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n3>, n1, true>)
1695 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n3>, n2, false>)
1696 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n1, n3>, n3, true>)
1697 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n1>, s, false>)
1698 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n1>, n1, true>)
1699 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n1>, n2, true>)
1700 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n1>, n3, false>)
1701 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n2>, s, false>)
1702 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n2>, n1, false>)
1703 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n2>, n2, true>)
1704 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n2>, n3, false>)
1705 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n3>, s, false>)
1706 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n3>, n1, false>)
1707 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n3>, n2, true>)
1708 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n2, n3>, n3, true>)
1709 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n1>, s, false>)
1710 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n1>, n1, true>)
1711 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n1>, n2, false>)
1712 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n1>, n3, true>)
1713 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n2>, s, false>)
1714 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n2>, n1, false>)
1715 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n2>, n2, true>)
1716 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n2>, n3, true>)
1717 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n3>, s, false>)
1718 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n3>, n1, false>)
1719 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n3>, n2, false>)
1720 ASIO_TEST_CASE4(test_can_require<ex_mq_mr<n3, n3>, n3, true>)
1721
1722 ASIO_TEST_CASE4(test_require<ex_mq_mr<n1, n1>, n1, n1>)
1723 ASIO_TEST_CASE4(test_require<ex_mq_mr<n1, n2>, n1, n1>)
1724 ASIO_TEST_CASE4(test_require<ex_mq_mr<n1, n2>, n2, n2>)
1725 ASIO_TEST_CASE4(test_require<ex_mq_mr<n1, n3>, n1, n1>)
1726 ASIO_TEST_CASE4(test_require<ex_mq_mr<n1, n3>, n3, n3>)
1727 ASIO_TEST_CASE4(test_require<ex_mq_mr<n2, n1>, n1, n1>)
1728 ASIO_TEST_CASE4(test_require<ex_mq_mr<n2, n1>, n2, n2>)
1729 ASIO_TEST_CASE4(test_require<ex_mq_mr<n2, n2>, n2, n2>)
1730 ASIO_TEST_CASE4(test_require<ex_mq_mr<n2, n3>, n2, n2>)
1731 ASIO_TEST_CASE4(test_require<ex_mq_mr<n2, n3>, n3, n3>)
1732 ASIO_TEST_CASE4(test_require<ex_mq_mr<n3, n1>, n1, n1>)
1733 ASIO_TEST_CASE4(test_require<ex_mq_mr<n3, n1>, n3, n3>)
1734 ASIO_TEST_CASE4(test_require<ex_mq_mr<n3, n2>, n2, n2>)
1735 ASIO_TEST_CASE4(test_require<ex_mq_mr<n3, n2>, n3, n3>)
1736 ASIO_TEST_CASE4(test_require<ex_mq_mr<n3, n3>, n3, n3>)
1737
1738 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n1>, s, false>)
1739 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n1>, n1, true>)
1740 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n1>, n2, true>)
1741 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n1>, n3, true>)
1742 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n2>, s, false>)
1743 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n2>, n1, true>)
1744 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n2>, n2, true>)
1745 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n2>, n3, true>)
1746 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n3>, s, false>)
1747 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n3>, n1, true>)
1748 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n3>, n2, true>)
1749 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n1, n3>, n3, true>)
1750 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n1>, s, false>)
1751 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n1>, n1, true>)
1752 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n1>, n2, true>)
1753 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n1>, n3, true>)
1754 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n2>, s, false>)
1755 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n2>, n1, true>)
1756 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n2>, n2, true>)
1757 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n2>, n3, true>)
1758 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n3>, s, false>)
1759 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n3>, n1, true>)
1760 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n3>, n2, true>)
1761 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n2, n3>, n3, true>)
1762 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n1>, s, false>)
1763 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n1>, n1, true>)
1764 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n1>, n2, true>)
1765 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n1>, n3, true>)
1766 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n2>, s, false>)
1767 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n2>, n1, true>)
1768 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n2>, n2, true>)
1769 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n2>, n3, true>)
1770 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n3>, s, false>)
1771 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n3>, n1, true>)
1772 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n3>, n2, true>)
1773 ASIO_TEST_CASE4(test_can_prefer<ex_mq_mr<n3, n3>, n3, true>)
1774
1775 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n1>, n1, n1>)
1776 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n1>, n2, n1>)
1777 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n1>, n3, n1>)
1778 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n2>, n1, n1>)
1779 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n2>, n2, n2>)
1780 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n2>, n3, n1>)
1781 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n3>, n1, n1>)
1782 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n3>, n2, n1>)
1783 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n1, n3>, n3, n3>)
1784 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n1>, n1, n1>)
1785 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n1>, n2, n2>)
1786 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n1>, n3, n2>)
1787 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n2>, n1, n2>)
1788 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n2>, n2, n2>)
1789 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n2>, n3, n2>)
1790 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n3>, n1, n2>)
1791 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n3>, n2, n2>)
1792 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n2, n3>, n3, n3>)
1793 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n1>, n1, n1>)
1794 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n1>, n2, n3>)
1795 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n1>, n3, n3>)
1796 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n2>, n1, n3>)
1797 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n2>, n2, n2>)
1798 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n2>, n3, n3>)
1799 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n3>, n1, n3>)
1800 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n3>, n2, n3>)
1801 ASIO_TEST_CASE4(test_prefer<ex_mq_mr<n3, n3>, n3, n3>)
1802
1803 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n1>, s, true>)
1804 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n1>, n1, true>)
1805 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n1>, n2, false>)
1806 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n1>, n3, false>)
1807 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n2>, s, true>)
1808 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n2>, n1, true>)
1809 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n2>, n2, true>)
1810 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n2>, n3, false>)
1811 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n3>, s, true>)
1812 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n3>, n1, true>)
1813 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n3>, n2, false>)
1814 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n1, n3>, n3, true>)
1815 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n1>, s, true>)
1816 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n1>, n1, true>)
1817 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n1>, n2, true>)
1818 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n1>, n3, false>)
1819 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n2>, s, true>)
1820 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n2>, n1, false>)
1821 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n2>, n2, true>)
1822 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n2>, n3, false>)
1823 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n3>, s, true>)
1824 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n3>, n1, false>)
1825 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n3>, n2, true>)
1826 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n2, n3>, n3, true>)
1827 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n1>, s, true>)
1828 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n1>, n1, true>)
1829 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n1>, n2, false>)
1830 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n1>, n3, true>)
1831 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n2>, s, true>)
1832 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n2>, n1, false>)
1833 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n2>, n2, true>)
1834 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n2>, n3, true>)
1835 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n3>, s, true>)
1836 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n3>, n1, false>)
1837 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n3>, n2, false>)
1838 ASIO_TEST_CASE4(test_can_query<ex_fq_fr<n3, n3>, n3, true>)
1839
1840 ASIO_TEST_CASE4(test_query<ex_fq_fr<n1, n1>, s, n1>)
1841 ASIO_TEST_CASE4(test_query<ex_fq_fr<n1, n1>, n1, n1>)
1842 ASIO_TEST_CASE4(test_query<ex_fq_fr<n1, n2>, s, n1>)
1843 ASIO_TEST_CASE4(test_query<ex_fq_fr<n1, n2>, n1, n1>)
1844 ASIO_TEST_CASE4(test_query<ex_fq_fr<n1, n3>, s, n1>)
1845 ASIO_TEST_CASE4(test_query<ex_fq_fr<n1, n3>, n1, n1>)
1846 ASIO_TEST_CASE4(test_query<ex_fq_fr<n2, n1>, s, n2>)
1847 ASIO_TEST_CASE4(test_query<ex_fq_fr<n2, n1>, n2, n2>)
1848 ASIO_TEST_CASE4(test_query<ex_fq_fr<n2, n2>, s, n2>)
1849 ASIO_TEST_CASE4(test_query<ex_fq_fr<n2, n2>, n2, n2>)
1850 ASIO_TEST_CASE4(test_query<ex_fq_fr<n2, n3>, s, n2>)
1851 ASIO_TEST_CASE4(test_query<ex_fq_fr<n2, n3>, n2, n2>)
1852 ASIO_TEST_CASE4(test_query<ex_fq_fr<n3, n1>, s, n3>)
1853 ASIO_TEST_CASE4(test_query<ex_fq_fr<n3, n1>, n3, n3>)
1854 ASIO_TEST_CASE4(test_query<ex_fq_fr<n3, n2>, s, n3>)
1855 ASIO_TEST_CASE4(test_query<ex_fq_fr<n3, n2>, n3, n3>)
1856 ASIO_TEST_CASE4(test_query<ex_fq_fr<n3, n3>, s, n3>)
1857 ASIO_TEST_CASE4(test_query<ex_fq_fr<n3, n3>, n3, n3>)
1858
1859 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n1>, s, false>)
1860 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n1>, n1, true>)
1861 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n1>, n2, false>)
1862 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n1>, n3, false>)
1863 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n2>, s, false>)
1864 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n2>, n1, true>)
1865 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n2>, n2, true>)
1866 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n2>, n3, false>)
1867 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n3>, s, false>)
1868 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n3>, n1, true>)
1869 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n3>, n2, false>)
1870 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n1, n3>, n3, true>)
1871 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n1>, s, false>)
1872 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n1>, n1, true>)
1873 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n1>, n2, true>)
1874 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n1>, n3, false>)
1875 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n2>, s, false>)
1876 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n2>, n1, false>)
1877 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n2>, n2, true>)
1878 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n2>, n3, false>)
1879 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n3>, s, false>)
1880 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n3>, n1, false>)
1881 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n3>, n2, true>)
1882 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n2, n3>, n3, true>)
1883 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n1>, s, false>)
1884 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n1>, n1, true>)
1885 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n1>, n2, false>)
1886 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n1>, n3, true>)
1887 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n2>, s, false>)
1888 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n2>, n1, false>)
1889 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n2>, n2, true>)
1890 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n2>, n3, true>)
1891 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n3>, s, false>)
1892 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n3>, n1, false>)
1893 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n3>, n2, false>)
1894 ASIO_TEST_CASE4(test_can_require<ex_fq_fr<n3, n3>, n3, true>)
1895
1896 ASIO_TEST_CASE4(test_require<ex_fq_fr<n1, n1>, n1, n1>)
1897 ASIO_TEST_CASE4(test_require<ex_fq_fr<n1, n2>, n1, n1>)
1898 ASIO_TEST_CASE4(test_require<ex_fq_fr<n1, n2>, n2, n2>)
1899 ASIO_TEST_CASE4(test_require<ex_fq_fr<n1, n3>, n1, n1>)
1900 ASIO_TEST_CASE4(test_require<ex_fq_fr<n1, n3>, n3, n3>)
1901 ASIO_TEST_CASE4(test_require<ex_fq_fr<n2, n1>, n1, n1>)
1902 ASIO_TEST_CASE4(test_require<ex_fq_fr<n2, n1>, n2, n2>)
1903 ASIO_TEST_CASE4(test_require<ex_fq_fr<n2, n2>, n2, n2>)
1904 ASIO_TEST_CASE4(test_require<ex_fq_fr<n2, n3>, n2, n2>)
1905 ASIO_TEST_CASE4(test_require<ex_fq_fr<n2, n3>, n3, n3>)
1906 ASIO_TEST_CASE4(test_require<ex_fq_fr<n3, n1>, n1, n1>)
1907 ASIO_TEST_CASE4(test_require<ex_fq_fr<n3, n1>, n3, n3>)
1908 ASIO_TEST_CASE4(test_require<ex_fq_fr<n3, n2>, n2, n2>)
1909 ASIO_TEST_CASE4(test_require<ex_fq_fr<n3, n2>, n3, n3>)
1910 ASIO_TEST_CASE4(test_require<ex_fq_fr<n3, n3>, n3, n3>)
1911
1912 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n1>, s, false>)
1913 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n1>, n1, true>)
1914 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n1>, n2, true>)
1915 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n1>, n3, true>)
1916 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n2>, s, false>)
1917 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n2>, n1, true>)
1918 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n2>, n2, true>)
1919 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n2>, n3, true>)
1920 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n3>, s, false>)
1921 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n3>, n1, true>)
1922 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n3>, n2, true>)
1923 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n1, n3>, n3, true>)
1924 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n1>, s, false>)
1925 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n1>, n1, true>)
1926 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n1>, n2, true>)
1927 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n1>, n3, true>)
1928 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n2>, s, false>)
1929 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n2>, n1, true>)
1930 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n2>, n2, true>)
1931 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n2>, n3, true>)
1932 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n3>, s, false>)
1933 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n3>, n1, true>)
1934 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n3>, n2, true>)
1935 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n2, n3>, n3, true>)
1936 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n1>, s, false>)
1937 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n1>, n1, true>)
1938 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n1>, n2, true>)
1939 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n1>, n3, true>)
1940 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n2>, s, false>)
1941 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n2>, n1, true>)
1942 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n2>, n2, true>)
1943 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n2>, n3, true>)
1944 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n3>, s, false>)
1945 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n3>, n1, true>)
1946 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n3>, n2, true>)
1947 ASIO_TEST_CASE4(test_can_prefer<ex_fq_fr<n3, n3>, n3, true>)
1948
1949 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n1>, n1, n1>)
1950 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n1>, n2, n1>)
1951 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n1>, n3, n1>)
1952 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n2>, n1, n1>)
1953 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n2>, n2, n2>)
1954 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n2>, n3, n1>)
1955 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n3>, n1, n1>)
1956 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n3>, n2, n1>)
1957 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n1, n3>, n3, n3>)
1958 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n1>, n1, n1>)
1959 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n1>, n2, n2>)
1960 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n1>, n3, n2>)
1961 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n2>, n1, n2>)
1962 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n2>, n2, n2>)
1963 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n2>, n3, n2>)
1964 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n3>, n1, n2>)
1965 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n3>, n2, n2>)
1966 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n2, n3>, n3, n3>)
1967 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n1>, n1, n1>)
1968 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n1>, n2, n3>)
1969 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n1>, n3, n3>)
1970 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n2>, n1, n3>)
1971 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n2>, n2, n2>)
1972 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n2>, n3, n3>)
1973 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n3>, n1, n3>)
1974 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n3>, n2, n3>)
1975 ASIO_TEST_CASE4(test_prefer<ex_fq_fr<n3, n3>, n3, n3>)
1976
1977 ASIO_TEST_CASE(test_vars)
1978 )
1979