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;
21 using std::index_sequence;
22 using std::make_index_sequence;
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>
59 static constexpr std::size_t size() noexcept
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{};
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