9#ifndef DRYCHEM_COMMON_UTILITIES_INCLUDE_COMMON_UTILS_META_TYPES_INTEGER_SEQUENCES_INTEGERSEQUENCEALGORITHMS_HPP
10#define DRYCHEM_COMMON_UTILITIES_INCLUDE_COMMON_UTILS_META_TYPES_INTEGER_SEQUENCES_INTEGERSEQUENCEALGORITHMS_HPP
27 template<
typename T, T Head, T... Tail>
28 struct front_list<std::integer_sequence<T, Head, Tail...>>
30 using type = std::integral_constant<T, Head>;
41 template<
typename T, T... Elements>
44 static constexpr bool value =
sizeof...(Elements) == 0;
56 template<
typename T, T Head, T... Tail>
59 using type = std::integer_sequence<T, Tail...>;
71 template<
typename T, T... Elements, T NewElement>
72 struct push_back_list<std::integer_sequence<T, Elements...>, std::integral_constant<T, NewElement>>
74 using type = std::integer_sequence<T, Elements..., NewElement>;
86 template<
typename T, T... Elements, T NewElement>
87 struct push_front_list<std::integer_sequence<T, Elements...>, std::integral_constant<T, NewElement>>
89 using type = std::integer_sequence<T, NewElement, Elements...>;