]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/test/properties/cpp14/require_free.cpp
2 // cpp14/require_free.cpp
3 // ~~~~~~~~~~~~~~~~~~~~~~
5 // Copyright (c) 2003-2020 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 template <typename
> static constexpr bool is_applicable_property_v
= true;
18 static constexpr bool is_requirable
= true;
25 friend constexpr object
<N
> require(const object
&, prop
<N
>)
34 object
<2> o2
= boost::asio::require(o1
, prop
<2>());
35 object
<3> o3
= boost::asio::require(o1
, prop
<2>(), prop
<3>());
36 object
<4> o4
= boost::asio::require(o1
, prop
<2>(), prop
<3>(), prop
<4>());
41 const object
<1> o5
= {};
42 object
<2> o6
= boost::asio::require(o5
, prop
<2>());
43 object
<3> o7
= boost::asio::require(o5
, prop
<2>(), prop
<3>());
44 object
<4> o8
= boost::asio::require(o5
, prop
<2>(), prop
<3>(), prop
<4>());
49 constexpr object
<2> o9
= boost::asio::require(object
<1>(), prop
<2>());
50 constexpr object
<3> o10
= boost::asio::require(object
<1>(), prop
<2>(), prop
<3>());
51 constexpr object
<4> o11
= boost::asio::require(object
<1>(), prop
<2>(), prop
<3>(), prop
<4>());