• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 https://www.boost.org/LICENSE_1_0.txt
5 
6 #ifndef BOOST_MP_CPP_INT_VP_HPP
7 #define BOOST_MP_CPP_INT_VP_HPP
8 
9 namespace boost {
10 namespace multiprecision {
11 
12 namespace literals { namespace detail {
13 
14 template <limb_type... VALUES>
15 struct value_pack
16 {
value_packboost::multiprecision::literals::detail::value_pack17    constexpr value_pack() {}
18 
19    typedef value_pack<0, VALUES...> next_type;
20 };
21 template <class T>
22 struct is_value_pack
23 {
24    static constexpr bool value = false;
25 };
26 template <limb_type... VALUES>
27 struct is_value_pack<value_pack<VALUES...> >
28 {
29    static constexpr bool value = true;
30 };
31 
32 struct negate_tag
33 {};
34 
make_negate_tag()35 constexpr negate_tag make_negate_tag()
36 {
37    return negate_tag();
38 }
39 
40 }}}} // namespace boost::multiprecision::literals::detail
41 
42 #endif // BOOST_MP_CPP_INT_CORE_HPP
43