1#ifndef BOOST_MP11_INTEGRAL_HPP_INCLUDED
2#define BOOST_MP11_INTEGRAL_HPP_INCLUDED
3
4// Copyright 2015 Peter Dimov.
5//
6// Distributed under the Boost Software License, Version 1.0.
7//
8// See accompanying file LICENSE_1_0.txt or copy at
9// http://www.boost.org/LICENSE_1_0.txt
10
11#include <boost/mp11/version.hpp>
12#include <type_traits>
13#include <cstddef>
14
15namespace boost
16{
17namespace mp11
18{
19
20// mp_bool
21template<bool B> using mp_bool = std::integral_constant<bool, B>;
22
23using mp_true = mp_bool<true>;
24using mp_false = mp_bool<false>;
25
26// mp_to_bool
27template<class T> using mp_to_bool = mp_bool<static_cast<bool>( T::value )>;
28
29// mp_not<T>
30template<class T> using mp_not = mp_bool< !T::value >;
31
32// mp_int
33template<int I> using mp_int = std::integral_constant<int, I>;
34
35// mp_size_t
36template<std::size_t N> using mp_size_t = std::integral_constant<std::size_t, N>;
37
38} // namespace mp11
39} // namespace boost
40
41#endif // #ifndef BOOST_MP11_INTEGRAL_HPP_INCLUDED
42

source code of include/boost/mp11/integral.hpp