22#ifndef LELY_LIBC_UTILITY_HPP_
23#define LELY_LIBC_UTILITY_HPP_
32#if __cplusplus >= 201402L
34using ::std::index_sequence;
35using ::std::index_sequence_for;
36using ::std::integer_sequence;
37using ::std::make_index_sequence;
38using ::std::make_integer_sequence;
43template <
typename T, T... Ints>
47 static constexpr ::std::size_t
49 return sizeof...(Ints);
55template <::std::size_t...>
58template <
class,
class>
61template <::std::size_t...
I1, ::std::size_t...
I2>
66template <::std::
size_t N>
69 typename make_index_tuple<N - N / 2>::type> {};
84template <
typename T, T
N, ::std::size_t...
Ints>
86 static_assert(
N >= 0,
"Cannot make integer sequence of negative length");
97template <::std::size_t...
Ints>
104template <
typename T, T N>
112template <::std::
size_t N>
119template <
typename... T>
This header file is part of the Lely libraries; it contains the compiler feature definitions.
A compile-time sequence of integers.
typename detail::make_integer_sequence< T, N >::type make_integer_sequence
A helper alias template to simplify the creation of lely::compat::integer_sequence types with 0,...