7 #ifndef ALPSCORE_INDEX_SEQUENCE_HPP 8 #define ALPSCORE_INDEX_SEQUENCE_HPP 10 #include <type_traits> 15 template<
typename T, T... I>
20 static constexpr std::size_t
size() noexcept {
25 namespace integer_sequence_detail {
26 template <
typename,
typename>
struct concat;
28 template <
typename T, T... A, T... B>
33 template <
typename T,
size_t First,
size_t Count>
41 template <
typename T,
size_t First>
46 template <
typename T,
size_t First>
51 template <
typename T, T N>
55 template <
typename T, T N>
58 template <std::size_t... I>
67 #endif //ALPSCORE_INDEX_SEQUENCE_HPP make_integer_sequence< size_t, N > make_index_sequence
typename build_helper< T, 0, N >::type builder
static constexpr std::size_t size() noexcept
size of sequence
integer_sequence_detail::builder< T, N > make_integer_sequence
integer_sequence< T, A..., B... > type
typename concat< typename build_helper< T, First, Count/2 >::type, typename build_helper< T, First+Count/2, Count-Count/2 >::type >::type type
T value_type
type of sequence