]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mp11/test/mp_eval_or.cpp
2 // Copyright 2019 Peter Dimov.
4 // Distributed under the Boost Software License, Version 1.0.
6 // See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt
10 #include <boost/mp11/utility.hpp>
11 #include <boost/core/lightweight_test_trait.hpp>
14 template<class T
> using difference_type
= typename
T::difference_type
;
22 using difference_type
= int;
27 using boost::mp11::mp_eval_or
;
28 using boost::mp11::mp_eval_or_q
;
29 using boost::mp11::mp_identity
;
30 using boost::mp11::mp_quote
;
32 BOOST_TEST_TRAIT_SAME(mp_eval_or
<void, mp_identity
>, void);
33 BOOST_TEST_TRAIT_SAME(mp_eval_or
<void, mp_identity
, int>, mp_identity
<int>);
34 BOOST_TEST_TRAIT_SAME(mp_eval_or
<void, mp_identity
, int, int>, void);
36 using Q_identity
= mp_quote
<mp_identity
>;
38 BOOST_TEST_TRAIT_SAME(mp_eval_or_q
<void, Q_identity
>, void);
39 BOOST_TEST_TRAIT_SAME(mp_eval_or_q
<void, Q_identity
, int>, mp_identity
<int>);
40 BOOST_TEST_TRAIT_SAME(mp_eval_or_q
<void, Q_identity
, int, int>, void);
42 BOOST_TEST_TRAIT_SAME(mp_eval_or
<std::ptrdiff_t, difference_type
, X
>, std::ptrdiff_t);
43 BOOST_TEST_TRAIT_SAME(mp_eval_or
<std::ptrdiff_t, difference_type
, Y
>, int);
45 using Q_diff_type
= mp_quote
<difference_type
>;
47 BOOST_TEST_TRAIT_SAME(mp_eval_or_q
<std::ptrdiff_t, Q_diff_type
, X
>, std::ptrdiff_t);
48 BOOST_TEST_TRAIT_SAME(mp_eval_or_q
<std::ptrdiff_t, Q_diff_type
, Y
>, int);
50 return boost::report_errors();