// // blocking.cpp // ~~~~~~~~~~~~ // // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // Disable autolinking for unit tests. #if !defined(BOOST_ALL_NO_LIB) #define BOOST_ALL_NO_LIB 1 #endif // !defined(BOOST_ALL_NO_LIB) // Test that header file is self-contained. #include "asio/execution/blocking.hpp" #include "asio/prefer.hpp" #include "asio/query.hpp" #include "asio/require.hpp" #include "../unit_test.hpp" namespace exec = asio::execution; typedef exec::blocking_t s; typedef exec::blocking_t::possibly_t n1; typedef exec::blocking_t::always_t n2; typedef exec::blocking_t::never_t n3; struct ex_nq_nr { template void execute(const F&) const { } friend bool operator==(const ex_nq_nr&, const ex_nq_nr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_nq_nr&, const ex_nq_nr&) ASIO_NOEXCEPT { return false; } }; #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace execution { template <> struct is_executor : asio::true_type { }; } // namespace execution } // namespace asio #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) template struct ex_cq_nr { static ASIO_CONSTEXPR ResultType query(ParamType) ASIO_NOEXCEPT { return Result(); } template void execute(const F&) const { } friend bool operator==(const ex_cq_nr&, const ex_cq_nr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_cq_nr&, const ex_cq_nr&) ASIO_NOEXCEPT { return false; } }; #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace execution { template struct is_executor > : asio::true_type { }; } // namespace execution } // namespace asio #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace traits { #if !defined(ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT) template struct query_static_constexpr_member< ex_cq_nr, Param, typename asio::enable_if< asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef Result result_type; // Must return raw result type. static ASIO_CONSTEXPR result_type value() { return Result(); } }; #endif // !defined(ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT) } // namespace traits } // namespace asio template struct ex_mq_nr { ResultType query(ParamType) const ASIO_NOEXCEPT { return Result(); } template void execute(const F&) const { } friend bool operator==(const ex_mq_nr&, const ex_mq_nr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_mq_nr&, const ex_mq_nr&) ASIO_NOEXCEPT { return false; } }; #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace execution { template struct is_executor > : asio::true_type { }; } // namespace execution } // namespace asio #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace traits { #if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) template struct query_member< ex_mq_nr, Param, typename asio::enable_if< asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ResultType result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) } // namespace traits } // namespace asio template struct ex_fq_nr { friend ResultType query(const ex_fq_nr&, ParamType) ASIO_NOEXCEPT { return Result(); } template void execute(const F&) const { } friend bool operator==(const ex_fq_nr&, const ex_fq_nr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_fq_nr&, const ex_fq_nr&) ASIO_NOEXCEPT { return false; } }; #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace execution { template struct is_executor > : asio::true_type { }; } // namespace execution } // namespace asio #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace traits { #if !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT) template struct query_free< ex_fq_nr, Param, typename asio::enable_if< asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ResultType result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT) } // namespace traits } // namespace asio template struct ex_mq_mr { CurrentType query(CurrentType) const ASIO_NOEXCEPT { return CurrentType(); } CurrentType query(OtherType) const ASIO_NOEXCEPT { return CurrentType(); } ex_mq_mr require( CurrentType) const ASIO_NOEXCEPT { return ex_mq_mr(); } ex_mq_mr require( OtherType) const ASIO_NOEXCEPT { return ex_mq_mr(); } template void execute(const F&) const { } friend bool operator==(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT { return false; } }; template struct ex_mq_mr { CurrentType query(CurrentType) const ASIO_NOEXCEPT { return CurrentType(); } ex_mq_mr require( CurrentType) const ASIO_NOEXCEPT { return ex_mq_mr(); } template void execute(const F&) const { } friend bool operator==(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_mq_mr&, const ex_mq_mr&) ASIO_NOEXCEPT { return false; } }; #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace execution { template struct is_executor > : asio::true_type { }; } // namespace execution } // namespace asio #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace traits { #if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) template struct query_member< ex_mq_mr, Param, typename asio::enable_if< asio::is_convertible::value || asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef CurrentType result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) #if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT) template struct require_member< ex_mq_mr, Param, typename asio::enable_if< asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ex_mq_mr result_type; }; template struct require_member< ex_mq_mr, Param, typename asio::enable_if< asio::is_convertible::value && !asio::is_same::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ex_mq_mr result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT) } // namespace traits } // namespace asio template struct ex_fq_fr { friend CurrentType query(const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT { return CurrentType(); } friend CurrentType query(const ex_fq_fr&, OtherType) ASIO_NOEXCEPT { return CurrentType(); } friend ex_fq_fr require( const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT { return ex_fq_fr(); } friend ex_fq_fr require( const ex_fq_fr&, OtherType) ASIO_NOEXCEPT { return ex_fq_fr(); } friend ex_fq_fr prefer( const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT { return ex_fq_fr(); } friend ex_fq_fr prefer( const ex_fq_fr&, OtherType) ASIO_NOEXCEPT { return ex_fq_fr(); } template void execute(const F&) const { } friend bool operator==(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT { return false; } }; template struct ex_fq_fr { friend CurrentType query(const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT { return CurrentType(); } friend ex_fq_fr require( const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT { return ex_fq_fr(); } friend ex_fq_fr prefer( const ex_fq_fr&, CurrentType) ASIO_NOEXCEPT { return ex_fq_fr(); } template void execute(const F&) const { } friend bool operator==(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT { return true; } friend bool operator!=(const ex_fq_fr&, const ex_fq_fr&) ASIO_NOEXCEPT { return false; } }; #if !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace execution { template struct is_executor > : asio::true_type { }; } // namespace execution } // namespace asio #endif // !defined(ASIO_HAS_DEDUCED_EXECUTION_IS_EXECUTOR_TRAIT) namespace asio { namespace traits { #if !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT) template struct query_free< ex_fq_fr, Param, typename asio::enable_if< asio::is_convertible::value || asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef CurrentType result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_QUERY_FREE_TRAIT) #if !defined(ASIO_HAS_DEDUCED_REQUIRE_FREE_TRAIT) template struct require_free< ex_fq_fr, Param, typename asio::enable_if< asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ex_fq_fr result_type; }; template struct require_free< ex_fq_fr, Param, typename asio::enable_if< asio::is_convertible::value && !asio::is_same::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ex_fq_fr result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_FREE_TRAIT) #if !defined(ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT) template struct prefer_free< ex_fq_fr, Param, typename asio::enable_if< asio::is_convertible::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ex_fq_fr result_type; }; template struct prefer_free< ex_fq_fr, Param, typename asio::enable_if< asio::is_convertible::value && !asio::is_same::value >::type> { ASIO_STATIC_CONSTEXPR(bool, is_valid = true); ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true); typedef ex_fq_fr result_type; }; #endif // !defined(ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT) } // namespace traits } // namespace asio template void test_can_query() { ASIO_CONSTEXPR bool b1 = asio::can_query::value; ASIO_CHECK(b1 == ExpectedResult); ASIO_CONSTEXPR bool b2 = asio::can_query::value; ASIO_CHECK(b2 == ExpectedResult); ASIO_CONSTEXPR bool b3 = asio::can_query::value; ASIO_CHECK(b3 == ExpectedResult); ASIO_CONSTEXPR bool b4 = asio::can_query::value; ASIO_CHECK(b4 == ExpectedResult); } template void test_query() { exec::blocking_t result1 = asio::query(Executor(), Param()); ASIO_CHECK(result1 == ExpectedResult()); Executor ex1 = {}; exec::blocking_t result2 = asio::query(ex1, Param()); ASIO_CHECK(result2 == ExpectedResult()); const Executor ex2 = {}; exec::blocking_t result3 = asio::query(ex2, Param()); ASIO_CHECK(result3 == ExpectedResult()); } template void test_constexpr_query() { #if defined(ASIO_HAS_CONSTEXPR) constexpr Executor ex1 = {}; constexpr exec::blocking_t result1 = asio::query(ex1, Param()); ASIO_CHECK(result1 == ExpectedResult()); #endif // defined(ASIO_HAS_CONSTEXPR) } template void test_can_require() { ASIO_CONSTEXPR bool b1 = asio::can_require::value; ASIO_CHECK(b1 == ExpectedResult); ASIO_CONSTEXPR bool b2 = asio::can_require::value; ASIO_CHECK(b2 == ExpectedResult); ASIO_CONSTEXPR bool b3 = asio::can_require::value; ASIO_CHECK(b3 == ExpectedResult); ASIO_CONSTEXPR bool b4 = asio::can_require::value; ASIO_CHECK(b4 == ExpectedResult); } template void test_require() { ASIO_CHECK( asio::query( asio::require(Executor(), Param()), Param()) == ExpectedResult()); Executor ex1 = {}; ASIO_CHECK( asio::query( asio::require(ex1, Param()), Param()) == ExpectedResult()); const Executor ex2 = {}; ASIO_CHECK( asio::query( asio::require(ex2, Param()), Param()) == ExpectedResult()); } template void test_can_prefer() { ASIO_CONSTEXPR bool b1 = asio::can_prefer::value; ASIO_CHECK(b1 == ExpectedResult); ASIO_CONSTEXPR bool b2 = asio::can_prefer::value; ASIO_CHECK(b2 == ExpectedResult); ASIO_CONSTEXPR bool b3 = asio::can_prefer::value; ASIO_CHECK(b3 == ExpectedResult); ASIO_CONSTEXPR bool b4 = asio::can_prefer::value; ASIO_CHECK(b4 == ExpectedResult); } template void test_prefer() { ASIO_CHECK( s(asio::query( asio::prefer(Executor(), Param()), s())) == s(ExpectedResult())); Executor ex1 = {}; ASIO_CHECK( s(asio::query( asio::prefer(ex1, Param()), s())) == s(ExpectedResult())); const Executor ex2 = {}; ASIO_CHECK( s(asio::query( asio::prefer(ex2, Param()), s())) == s(ExpectedResult())); } void test_vars() { ASIO_CHECK(s() == exec::blocking); ASIO_CHECK(n1() == exec::blocking.possibly); ASIO_CHECK(n2() == exec::blocking.always); ASIO_CHECK(n3() == exec::blocking.never); } ASIO_TEST_SUITE ( "blocking", ASIO_TEST_CASE3(test_can_query) ASIO_TEST_CASE3(test_can_query) ASIO_TEST_CASE3(test_can_query) ASIO_TEST_CASE3(test_can_query) ASIO_TEST_CASE3(test_query) ASIO_TEST_CASE3(test_query) ASIO_TEST_CASE3(test_constexpr_query) ASIO_TEST_CASE3(test_constexpr_query) ASIO_TEST_CASE3(test_can_require) ASIO_TEST_CASE3(test_can_require) ASIO_TEST_CASE3(test_can_require) ASIO_TEST_CASE3(test_can_require) ASIO_TEST_CASE3(test_require) ASIO_TEST_CASE3(test_can_prefer) ASIO_TEST_CASE3(test_can_prefer) ASIO_TEST_CASE3(test_can_prefer) ASIO_TEST_CASE3(test_can_prefer) ASIO_TEST_CASE3(test_prefer) ASIO_TEST_CASE3(test_prefer) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_constexpr_query, s, n1>) ASIO_TEST_CASE5(test_constexpr_query, n1, n1>) ASIO_TEST_CASE5(test_constexpr_query, n2, n1>) ASIO_TEST_CASE5(test_constexpr_query, n3, n1>) ASIO_TEST_CASE5(test_constexpr_query, s, n2>) ASIO_TEST_CASE5(test_constexpr_query, n1, n2>) ASIO_TEST_CASE5(test_constexpr_query, n2, n2>) ASIO_TEST_CASE5(test_constexpr_query, n3, n2>) ASIO_TEST_CASE5(test_constexpr_query, s, n3>) ASIO_TEST_CASE5(test_constexpr_query, n1, n3>) ASIO_TEST_CASE5(test_constexpr_query, n2, n3>) ASIO_TEST_CASE5(test_constexpr_query, n3, n3>) ASIO_TEST_CASE5(test_constexpr_query, s, n1>) ASIO_TEST_CASE5(test_constexpr_query, n1, n1>) ASIO_TEST_CASE5(test_constexpr_query, s, n2>) ASIO_TEST_CASE5(test_constexpr_query, n1, n2>) ASIO_TEST_CASE5(test_constexpr_query, s, n3>) ASIO_TEST_CASE5(test_constexpr_query, n1, n3>) ASIO_TEST_CASE5(test_constexpr_query, s, n1>) ASIO_TEST_CASE5(test_constexpr_query, n2, n1>) ASIO_TEST_CASE5(test_constexpr_query, s, n2>) ASIO_TEST_CASE5(test_constexpr_query, n2, n2>) ASIO_TEST_CASE5(test_constexpr_query, s, n3>) ASIO_TEST_CASE5(test_constexpr_query, n2, n3>) ASIO_TEST_CASE5(test_constexpr_query, s, n1>) ASIO_TEST_CASE5(test_constexpr_query, n3, n1>) ASIO_TEST_CASE5(test_constexpr_query, s, n2>) ASIO_TEST_CASE5(test_constexpr_query, n3, n2>) ASIO_TEST_CASE5(test_constexpr_query, s, n3>) ASIO_TEST_CASE5(test_constexpr_query, n3, n3>) ASIO_TEST_CASE5(test_constexpr_query, s, n1>) ASIO_TEST_CASE5(test_constexpr_query, n1, n1>) ASIO_TEST_CASE5(test_constexpr_query, n2, n1>) ASIO_TEST_CASE5(test_constexpr_query, n3, n1>) ASIO_TEST_CASE5(test_constexpr_query, s, n2>) ASIO_TEST_CASE5(test_constexpr_query, n1, n2>) ASIO_TEST_CASE5(test_constexpr_query, n2, n2>) ASIO_TEST_CASE5(test_constexpr_query, n3, n2>) ASIO_TEST_CASE5(test_constexpr_query, s, n3>) ASIO_TEST_CASE5(test_constexpr_query, n1, n3>) ASIO_TEST_CASE5(test_constexpr_query, n2, n3>) ASIO_TEST_CASE5(test_constexpr_query, n3, n3>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, true>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, true>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, true>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, true>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, true>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, true>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, true>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, true>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, true>) ASIO_TEST_CASE5(test_require, n1, n1>) ASIO_TEST_CASE5(test_require, n2, n2>) ASIO_TEST_CASE5(test_require, n3, n3>) ASIO_TEST_CASE5(test_require, n1, n1>) ASIO_TEST_CASE5(test_require, n2, n2>) ASIO_TEST_CASE5(test_require, n3, n3>) ASIO_TEST_CASE5(test_require, n1, n1>) ASIO_TEST_CASE5(test_require, n2, n2>) ASIO_TEST_CASE5(test_require, n3, n3>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, false>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, false>) ASIO_TEST_CASE5(test_can_query, n2, false>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_can_query, s, true>) ASIO_TEST_CASE5(test_can_query, n1, true>) ASIO_TEST_CASE5(test_can_query, n2, true>) ASIO_TEST_CASE5(test_can_query, n3, true>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_query, s, n1>) ASIO_TEST_CASE5(test_query, n1, n1>) ASIO_TEST_CASE5(test_query, n2, n1>) ASIO_TEST_CASE5(test_query, n3, n1>) ASIO_TEST_CASE5(test_query, s, n2>) ASIO_TEST_CASE5(test_query, n1, n2>) ASIO_TEST_CASE5(test_query, n2, n2>) ASIO_TEST_CASE5(test_query, n3, n2>) ASIO_TEST_CASE5(test_query, s, n3>) ASIO_TEST_CASE5(test_query, n1, n3>) ASIO_TEST_CASE5(test_query, n2, n3>) ASIO_TEST_CASE5(test_query, n3, n3>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_require, s, false>) ASIO_TEST_CASE5(test_can_require, n1, false>) ASIO_TEST_CASE5(test_can_require, n2, false>) ASIO_TEST_CASE5(test_can_require, n3, false>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_can_prefer, s, false>) ASIO_TEST_CASE5(test_can_prefer, n1, true>) ASIO_TEST_CASE5(test_can_prefer, n2, false>) ASIO_TEST_CASE5(test_can_prefer, n3, true>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE5(test_prefer, n1, n1>) ASIO_TEST_CASE5(test_prefer, n3, n1>) ASIO_TEST_CASE5(test_prefer, n1, n2>) ASIO_TEST_CASE5(test_prefer, n3, n2>) ASIO_TEST_CASE5(test_prefer, n1, n3>) ASIO_TEST_CASE5(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_query, s, n1>) ASIO_TEST_CASE4(test_query, n1, n1>) ASIO_TEST_CASE4(test_query, s, n1>) ASIO_TEST_CASE4(test_query, n1, n1>) ASIO_TEST_CASE4(test_query, s, n1>) ASIO_TEST_CASE4(test_query, n1, n1>) ASIO_TEST_CASE4(test_query, s, n2>) ASIO_TEST_CASE4(test_query, n2, n2>) ASIO_TEST_CASE4(test_query, s, n2>) ASIO_TEST_CASE4(test_query, n2, n2>) ASIO_TEST_CASE4(test_query, s, n2>) ASIO_TEST_CASE4(test_query, n2, n2>) ASIO_TEST_CASE4(test_query, s, n3>) ASIO_TEST_CASE4(test_query, n3, n3>) ASIO_TEST_CASE4(test_query, s, n3>) ASIO_TEST_CASE4(test_query, n3, n3>) ASIO_TEST_CASE4(test_query, s, n3>) ASIO_TEST_CASE4(test_query, n3, n3>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n1>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n1>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n2>) ASIO_TEST_CASE4(test_prefer, n1, n2>) ASIO_TEST_CASE4(test_prefer, n3, n2>) ASIO_TEST_CASE4(test_prefer, n1, n2>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n3>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n3>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, false>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, true>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, true>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_can_query, s, true>) ASIO_TEST_CASE4(test_can_query, n1, false>) ASIO_TEST_CASE4(test_can_query, n2, false>) ASIO_TEST_CASE4(test_can_query, n3, true>) ASIO_TEST_CASE4(test_query, s, n1>) ASIO_TEST_CASE4(test_query, n1, n1>) ASIO_TEST_CASE4(test_query, s, n1>) ASIO_TEST_CASE4(test_query, n1, n1>) ASIO_TEST_CASE4(test_query, s, n1>) ASIO_TEST_CASE4(test_query, n1, n1>) ASIO_TEST_CASE4(test_query, s, n2>) ASIO_TEST_CASE4(test_query, n2, n2>) ASIO_TEST_CASE4(test_query, s, n2>) ASIO_TEST_CASE4(test_query, n2, n2>) ASIO_TEST_CASE4(test_query, s, n2>) ASIO_TEST_CASE4(test_query, n2, n2>) ASIO_TEST_CASE4(test_query, s, n3>) ASIO_TEST_CASE4(test_query, n3, n3>) ASIO_TEST_CASE4(test_query, s, n3>) ASIO_TEST_CASE4(test_query, n3, n3>) ASIO_TEST_CASE4(test_query, s, n3>) ASIO_TEST_CASE4(test_query, n3, n3>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, false>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, true>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, true>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_can_require, s, false>) ASIO_TEST_CASE4(test_can_require, n1, false>) ASIO_TEST_CASE4(test_can_require, n2, false>) ASIO_TEST_CASE4(test_can_require, n3, true>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n1, n1>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n2, n2>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_require, n3, n3>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_can_prefer, s, false>) ASIO_TEST_CASE4(test_can_prefer, n1, true>) ASIO_TEST_CASE4(test_can_prefer, n2, false>) ASIO_TEST_CASE4(test_can_prefer, n3, true>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n1>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n1>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n2>) ASIO_TEST_CASE4(test_prefer, n1, n2>) ASIO_TEST_CASE4(test_prefer, n3, n2>) ASIO_TEST_CASE4(test_prefer, n1, n2>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n1>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n3>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE4(test_prefer, n1, n3>) ASIO_TEST_CASE4(test_prefer, n3, n3>) ASIO_TEST_CASE(test_vars) )