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
9namespace boost {
10namespace multiprecision {
11
12namespace literals { namespace detail {
13
14template <limb_type... VALUES>
15struct value_pack
16{
17 constexpr value_pack() {}
18
19 using next_type = value_pack<0, VALUES...>;
20};
21template <class T>
22struct is_value_pack
23{
24 static constexpr bool value = false;
25};
26template <limb_type... VALUES>
27struct is_value_pack<value_pack<VALUES...> >
28{
29 static constexpr bool value = true;
30};
31
32struct negate_tag
33{};
34
35constexpr 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

source code of boost/libs/multiprecision/include/boost/multiprecision/cpp_int/value_pack.hpp