1//
2// cpp11/can_require_concept_unsupported.cpp
3// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4//
5// Copyright (c) 2003-2024 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#include <boost/asio/require_concept.hpp>
12#include <cassert>
13
14template <int>
15struct prop
16{
17};
18
19template <int>
20struct object
21{
22};
23
24namespace boost {
25namespace asio {
26
27template<int N, int M>
28struct is_applicable_property<object<N>, prop<M> >
29{
30 static constexpr bool value = true;
31};
32
33} // namespace asio
34} // namespace boost
35
36int main()
37{
38 static_assert(!boost::asio::can_require_concept<object<1>, prop<2>>::value, "");
39 static_assert(!boost::asio::can_require_concept<const object<1>, prop<2>>::value, "");
40}
41

source code of boost/libs/asio/test/properties/cpp11/can_require_concept_unsupported.cpp