1 /////////////////////////////////////////////////////////////// 2 // Copyright 2013 John Maddock. Distributed under the Boost 3 // Software License, Version 1.0. (See accompanying file 4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_ 5 6 #ifndef BOOST_MP_CPP_INT_VP_HPP 7 #define BOOST_MP_CPP_INT_VP_HPP 8 9 namespace boost{ namespace multiprecision{ 10 11 namespace literals{ namespace detail{ 12 13 template <limb_type...VALUES> 14 struct value_pack 15 { value_packboost::multiprecision::literals::detail::value_pack16 constexpr value_pack(){} 17 18 typedef value_pack<0, VALUES...> next_type; 19 }; 20 template <class T> 21 struct is_value_pack{ static constexpr bool value = false; }; 22 template <limb_type...VALUES> 23 struct is_value_pack<value_pack<VALUES...> >{ static constexpr bool value = true; }; 24 25 struct negate_tag{}; 26 make_negate_tag()27constexpr negate_tag make_negate_tag() 28 { 29 return negate_tag(); 30 } 31 32 33 }}}} // namespaces 34 35 #endif // BOOST_MP_CPP_INT_CORE_HPP 36 37