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()27 constexpr 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