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