1#ifndef NEFORCE_CORE_UTILITY_INTEGER_SEQUENCE_HPP__
2#define NEFORCE_CORE_UTILITY_INTEGER_SEQUENCE_HPP__
13NEFORCE_BEGIN_NAMESPACE__
31template <
typename T, T... Values>
41 NEFORCE_NODISCARD
static constexpr size_t size() noexcept {
return sizeof...(Values); }
52template <
typename T, T Size>
54#if defined(NEFORCE_COMPILER_MSVC) || defined(NEFORCE_COMPILER_CLANG)
55 __make_integer_seq<integer_sequence, T, Size>;
67template <
size_t... Values>
87template <
typename... Types>
105template <
size_t... Values>
118 template <
size_t... Is>
137NEFORCE_END_NAMESPACE__
typename build_index_tuple< Num >::type build_index_tuple_t
build_index_tuple的便捷别名
integer_sequence< T, __integer_pack(Size)... > make_integer_sequence
生成指定长度的整数序列
integer_sequence< size_t, Values... > index_sequence
索引序列
make_index_sequence< sizeof...(Types)> index_sequence_for
根据类型参数包生成索引序列
make_integer_sequence< size_t, Size > make_index_sequence
生成指定长度的索引序列
decltype(build_index_tuple::convert(make_index_sequence< Num >{})) type
生成的索引元组类型
static NEFORCE_NODISCARD constexpr size_t size() noexcept
static constexpr bool value