123456789101112131415161718192021222324252627 |
- #ifndef __GBLIBCPP_BITS_SEQUENCE__
- #define __GBLIBCPP_BITS_SEQUENCE__
- #include <cstddef>
- namespace std {
- template <typename T, T... Ints>
- struct integer_sequence {
- static constexpr std::size_t size() noexcept { return sizeof...(Ints); }
- };
- template <std::size_t... Indicies>
- using index_sequence = integer_sequence<std::size_t, Indicies...>;
- template <std::size_t N, std::size_t... Indicies>
- struct make_index_sequence : public make_index_sequence<N-1, N-1, Indicies...> {};
- template <std::size_t... Indicies>
- struct make_index_sequence<0, Indicies...> : public index_sequence<Indicies...> {};
- template <typename... Ts>
- using index_sequence_for = make_index_sequence<sizeof...(Ts)>;
- } // namespace std
- #endif
|