]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/test/properties/cpp03/can_require_free.cpp
2 // cpp03/can_require_free.cpp
3 // ~~~~~~~~~~~~~~~~~~~~~~~~~~
5 // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
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)
11 #include <boost/asio/require.hpp>
17 static const bool is_requirable
= true;
24 friend object
<N
> require(const object
&, prop
<N
>)
33 template<int N
, int M
>
34 struct is_applicable_property
<object
<N
>, prop
<M
> >
36 static const bool value
= true;
41 template<int N
, int M
>
42 struct require_free
<object
<N
>, prop
<M
> >
44 static const bool is_valid
= true;
45 static const bool is_noexcept
= true;
46 typedef object
<M
> result_type
;
55 assert((boost::asio::can_require
<object
<1>, prop
<2> >::value
));
56 assert((boost::asio::can_require
<object
<1>, prop
<2>, prop
<3> >::value
));
57 assert((boost::asio::can_require
<object
<1>, prop
<2>, prop
<3>, prop
<4> >::value
));
58 assert((boost::asio::can_require
<const object
<1>, prop
<2> >::value
));
59 assert((boost::asio::can_require
<const object
<1>, prop
<2>, prop
<3> >::value
));
60 assert((boost::asio::can_require
<const object
<1>, prop
<2>, prop
<3>, prop
<4> >::value
));