31#ifndef FENNEC_LANG_SEQUENCES_H
32#define FENNEC_LANG_SEQUENCES_H
106 inline static constexpr size_t size() noexcept {
107 return sizeof...(Values);
121template<
typename IntT, IntT...Values>
requires(is_integral_v<IntT>)
134 inline static constexpr size_t size() noexcept {
135 return sizeof...(Values);
146template<
typename IntT,
size_t N>
struct make_integer_metasequence;
173 inline static constexpr size_t size() noexcept {
174 return sizeof...(Indices);
185template<
size_t N>
struct make_index_metasequence;
219template<
typename T>
struct make_integer_metasequence<T, 1> : integer_metasequence<T, 0>{};
229template<>
struct make_index_metasequence<1> : index_metasequence<0>{};
233template<
typename T, T...SequenceV0, T...SequenceV1>
234struct concat_metasequence<integer_metasequence<T, SequenceV0...>, integer_metasequence<T, SequenceV1...>>
235 : integer_metasequence<T, SequenceV0..., (sizeof...(SequenceV0) + SequenceV1)...>{};
238template<
size_t...SequenceV0,
size_t...SequenceV1>
239struct concat_metasequence<index_metasequence<SequenceV0...>, index_metasequence<SequenceV1...>>
240 : index_metasequence<SequenceV0..., (sizeof...(SequenceV0) + SequenceV1)...>{};
size_t size_t
Unsigned Integer Type Returned By sizeof, sizeof..., and alignof
Definition types.h:250