]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/metaparse/include/boost/metaparse/v1/util/in_range.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / metaparse / include / boost / metaparse / v1 / util / in_range.hpp
CommitLineData
7c673cae
FG
1#ifndef BOOST_METAPARSE_V1_UTIL_IN_RANGE_HPP
2#define BOOST_METAPARSE_V1_UTIL_IN_RANGE_HPP
3
4// Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 2010.
5// 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)
8
9#include <boost/mpl/less_equal.hpp>
10#include <boost/mpl/comparison.hpp>
11#include <boost/mpl/quote.hpp>
12#include <boost/mpl/bool.hpp>
13
14#include <boost/mpl/vector.hpp>
15
16namespace boost
17{
18 namespace metaparse
19 {
20 namespace v1
21 {
22 namespace util
23 {
24 template <
25 class LowerBound = boost::mpl::na,
26 class UpperBound = boost::mpl::na,
27 class Item = boost::mpl::na
28 >
29 struct in_range :
30 boost::mpl::bool_<
31 boost::mpl::less_equal<LowerBound, Item>::type::value
32 && boost::mpl::less_equal<Item, UpperBound>::type::value
33 >
34 {};
35
36 template <class LowerBound, class UpperBound>
37 struct in_range<LowerBound, UpperBound, boost::mpl::na>
38 {
39 typedef in_range type;
40
41 template <class Item = boost::mpl::na>
42 struct apply : in_range<LowerBound, UpperBound, Item> {};
43 };
44
45 template <class LowerBound>
46 struct in_range<LowerBound, boost::mpl::na, boost::mpl::na>
47 {
48 typedef in_range type;
49
50 template <
51 class UpperBound = boost::mpl::na,
52 class Item = boost::mpl::na
53 >
54 struct apply : in_range<LowerBound, UpperBound, Item> {};
55 };
56
57 template <>
58 struct in_range<boost::mpl::na, boost::mpl::na, boost::mpl::na>
59 {
60 typedef in_range type;
61
62 template <
63 class LowerBound = boost::mpl::na,
64 class UpperBound = boost::mpl::na,
65 class Item = boost::mpl::na
66 >
67 struct apply : in_range<LowerBound, UpperBound, Item> {};
68 };
69 }
70 }
71 }
72}
73
74#endif
75