]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/test/properties/cpp03/prefer_member_require.cpp
2 // cpp03/prefer_member_require.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/prefer.hpp>
17 static const bool is_preferable
= true;
24 object
<N
> require(prop
<N
>) const
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_member
<object
<N
>, prop
<M
> >
44 static const bool is_valid
= true;
45 static const bool is_noexcept
= true;
46 typedef object
<M
> result_type
;
56 object
<2> o2
= boost::asio::prefer(o1
, prop
<2>());
57 object
<3> o3
= boost::asio::prefer(o1
, prop
<2>(), prop
<3>());
58 object
<4> o4
= boost::asio::prefer(o1
, prop
<2>(), prop
<3>(), prop
<4>());
63 const object
<1> o5
= {};
64 object
<2> o6
= boost::asio::prefer(o5
, prop
<2>());
65 object
<3> o7
= boost::asio::prefer(o5
, prop
<2>(), prop
<3>());
66 object
<4> o8
= boost::asio::prefer(o5
, prop
<2>(), prop
<3>(), prop
<4>());