]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/parameter/test/deduced_dependent_predicate.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / parameter / test / deduced_dependent_predicate.cpp
CommitLineData
7c673cae
FG
1// Copyright Daniel Wallin 2006. Use, modification and distribution is
2// subject to the Boost Software License, Version 1.0. (See accompanying
3// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4
5#include <boost/parameter/parameters.hpp>
6#include <boost/parameter/name.hpp>
7#include <boost/parameter/binding.hpp>
8#include <boost/type_traits.hpp>
9#include "deduced.hpp"
10
11namespace parameter = boost::parameter;
12namespace mpl = boost::mpl;
13
14BOOST_PARAMETER_NAME(x)
15BOOST_PARAMETER_NAME(y)
16BOOST_PARAMETER_NAME(z)
17
18int main()
19{
20 using namespace parameter;
21 using boost::is_same;
22 using boost::remove_reference;
23 using boost::add_reference;
24
25 check<
26 parameters<
27 tag::x
28 , optional<
29 deduced<tag::y>
30#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
31 , is_same<
32 mpl::_1
33 , remove_reference<binding<mpl::_2,tag::x> >
34 >
35#else
36 , is_same<
37 add_reference<mpl::_1>
38 , binding<mpl::_2,tag::x>
39 >
40#endif
41 >
42 >
43 >(
44 (_x = 0, _y = 1)
45 , 0
46 , 1
47 );
48
49 check<
50 parameters<
51 tag::x
52 , optional<
53 deduced<tag::y>
54#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
55 , is_same<
56 mpl::_1
57 , remove_reference<binding<mpl::_2,tag::x> >
58 >
59#else
60 , is_same<
61 add_reference<mpl::_1>
62 , binding<mpl::_2,tag::x>
63 >
64#endif
65 >
66 >
67 >(
68 (_x = 0U, _y = 1U)
69 , 0U
70 , 1U
71 );
72
73 check<
74 parameters<
75 tag::x
76 , optional<
77 deduced<tag::y>
78 , is_same<
79 mpl::_1
80 , tag::x::_
81 >
82 >
83 >
84 >(
85 (_x = 0U, _y = 1U)
86 , 0U
87 , 1U
88 );
89
90 check<
91 parameters<
92 tag::x
93 , optional<
94 deduced<tag::y>
95 , is_same<
96 mpl::_1
97 , tag::x::_1
98 >
99 >
100 >
101 >(
102 (_x = 0U, _y = 1U)
103 , 0U
104 , 1U
105 );
106
107 return 0;
108}
109