annotate DEPENDENCIES/generic/include/boost/align/detail/integral_constant.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 /*
Chris@102 2 (c) 2014 Glen Joseph Fernandes
Chris@102 3 glenjofe at gmail dot com
Chris@102 4
Chris@102 5 Distributed under the Boost Software
Chris@102 6 License, Version 1.0.
Chris@102 7 http://boost.org/LICENSE_1_0.txt
Chris@102 8 */
Chris@102 9 #ifndef BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
Chris@102 10 #define BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
Chris@102 11
Chris@102 12 #include <boost/config.hpp>
Chris@102 13
Chris@102 14 #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
Chris@102 15 #include <type_traits>
Chris@102 16 #endif
Chris@102 17
Chris@102 18 namespace boost {
Chris@102 19 namespace alignment {
Chris@102 20 namespace detail {
Chris@102 21 #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
Chris@102 22 using std::integral_constant;
Chris@102 23 #else
Chris@102 24 template<class T, T Value>
Chris@102 25 struct integral_constant {
Chris@102 26 typedef T value_type;
Chris@102 27 typedef integral_constant<T, Value> type;
Chris@102 28
Chris@102 29 #if !defined(BOOST_NO_CXX11_CONSTEXPR)
Chris@102 30 constexpr operator value_type() const {
Chris@102 31 return Value;
Chris@102 32 }
Chris@102 33
Chris@102 34 static constexpr T value = Value;
Chris@102 35 #else
Chris@102 36 enum {
Chris@102 37 value = Value
Chris@102 38 };
Chris@102 39 #endif
Chris@102 40 };
Chris@102 41 #endif
Chris@102 42 }
Chris@102 43 }
Chris@102 44 }
Chris@102 45
Chris@102 46 #endif