]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/test/properties/cpp14/query_member.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / asio / test / properties / cpp14 / query_member.cpp
1 //
2 // cpp14/query_member.cpp
3 // ~~~~~~~~~~~~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2020 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/query.hpp>
12 #include <cassert>
13
14 struct prop
15 {
16 template <typename> static constexpr bool is_applicable_property_v = true;
17 };
18
19 struct object
20 {
21 constexpr int query(prop) const { return 123; }
22 };
23
24 int main()
25 {
26 object o1 = {};
27 int result1 = boost::asio::query(o1, prop());
28 assert(result1 == 123);
29 (void)result1;
30
31 const object o2 = {};
32 int result2 = boost::asio::query(o2, prop());
33 assert(result2 == 123);
34 (void)result2;
35
36 constexpr object o3 = {};
37 constexpr int result3 = boost::asio::query(o3, prop());
38 assert(result3 == 123);
39 (void)result3;
40 }