2 Copyright 2014-2016 Glen Joseph Fernandes
5 Distributed under the Boost Software License, Version 1.0.
6 (http://www.boost.org/LICENSE_1_0.txt)
8 #ifndef BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
9 #define BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
11 #include <boost/config.hpp>
13 #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
14 #include <type_traits>
21 #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
22 using std::integral_constant;
24 template<class T, T Value>
25 struct integral_constant {
27 typedef integral_constant type;
29 BOOST_CONSTEXPR operator value_type() const BOOST_NOEXCEPT {
33 BOOST_CONSTEXPR value_type operator()() const BOOST_NOEXCEPT {
37 BOOST_STATIC_CONSTEXPR T value = Value;
40 template<class T, T Value>
41 BOOST_CONSTEXPR_OR_CONST T integral_constant<T, Value>::value;