MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
minimal_orderable.hpp
Go to the documentation of this file.
1 
6 #ifndef BOOST_MPL11_TEST_MINIMAL_ORDERABLE_HPP
7 #define BOOST_MPL11_TEST_MINIMAL_ORDERABLE_HPP
8 
9 #include <boost/mpl11/bool.hpp>
10 #include <boost/mpl11/core.hpp>
12 
13 
14 struct MinimalOrderable;
15 
16 template <unsigned v>
17 struct minimal_orderable {
18  static constexpr auto value = v;
19  using type = minimal_orderable;
20  using mpl_datatype = MinimalOrderable;
21 };
22 
23 namespace boost { namespace mpl11 {
24  template <>
25  struct Orderable<MinimalOrderable>
26  : instantiate<Orderable>::with<MinimalOrderable>
27  {
28  template <typename x, typename y>
29  using less_impl = bool_<(x::value < y::value)>;
30  };
31 }} // end namespace boost::mpl11
32 
33 #endif // !BOOST_MPL11_TEST_MINIMAL_ORDERABLE_HPP
Defines the Core module.
Defines the Orderable typeclass.
Forwards to boost/mpl11/integer.hpp.