7 #include <nlohmann/detail/macro_scope.hpp>
15 using uncvref_t =
typename std::remove_cv<typename std::remove_reference<T>::type>::type;
17 #ifdef JSON_HAS_CPP_14
20 using std::enable_if_t;
23 using std::index_sequence_for;
28 template<
bool B,
typename T =
void>
29 using enable_if_t =
typename std::enable_if<B, T>::type;
55 template <
typename T, T... Ints>
61 return sizeof...(Ints);
70 template <
size_t... Ints>
73 namespace utility_internal
76 template <
typename Seq,
size_t SeqSize,
size_t Rem>
80 template <
typename T, T... Ints,
size_t SeqSize>
86 template <
typename T, T... Ints,
size_t SeqSize>
94 template <
typename T,
size_t N>
98 typename Extend <
typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type;
101 template <
typename T>
116 template <
typename T, T N>
117 using make_integer_sequence =
typename utility_internal::Gen<T, N>::type;
125 using make_index_sequence = make_integer_sequence<size_t, N>;
132 template <
typename... Ts>
133 using index_sequence_for = make_index_sequence<
sizeof...(Ts)>;
147 static constexpr T value{};
_t< detail::make_indices_< N, index_sequence< 0 >, detail::strategy_(1, N)> > make_index_sequence
Generate index_sequence containing integer constants [0,1,2,...,N-1].
Definition: meta.hpp:473
integer_sequence< std::size_t, Is... > index_sequence
A container for a sequence of compile-time integer constants of type std::size_t.
Definition: meta.hpp:447
std::integral_constant< std::size_t, N > size_t
An integral constant wrapper for std::size_t.
Definition: meta.hpp:163
namespace for Niels Lohmann
Definition: adl_serializer.hpp:12
Definition: cpp_future.hpp:57
Definition: cpp_future.hpp:140
Definition: cpp_future.hpp:146
Definition: cpp_future.hpp:77
Definition: cpp_future.hpp:96