1#ifndef VEG_INTEGER_SEQ_HPP_JBT0EKAQS
2#define VEG_INTEGER_SEQ_HPP_JBT0EKAQS
13template<
typename T, T N>
18template<
typename T, T...
Nums>
22template<
typename... Ts>
25template<
typename Seq,
typename...
Bs>
28template<
typename Seq,
typename...
Bs>
32template<usize Is,
typename T>
35template<
typename... Ts>
52template<
typename ISeq,
typename... Ts>
55template<
usize... Is,
typename T>
76template<
template<
typename...>
class F,
typename Seq>
78template<
template<
typename...>
class F,
typename... Ts>
84template<
typename Valid,
template<
typename...>
class F,
typename...
Seqs>
87template<
typename Valid,
template<
typename...>
class F,
typename...
Seqs>
89template<
template<
typename...>
class F,
typename...
Seqs>
92template<
template<
typename...>
class F>
98template<
template<
typename...>
class F,
typename... Ts>
104template<
template<
typename...>
class F,
typename... Ts,
typename...
Zipped>
111template<
template<
typename...>
class F,
typename T>
114template<
template<
typename...>
class F,
typename... Ts>
118template<
template<
typename...>
class F,
typename T>
121template<
template<
typename...>
class F,
typename... Ts>
125template<
template<
typename...>
class F,
137template<
template<
typename...>
class F>
143template<
template<
typename...>
class F,
typename... Ts>
149template<
template<
typename...>
class F,
typename... Ts,
typename...
Us>
155template<
template<
typename...>
class F,
165 F<Ts...,
Us...,
Vs...>,
177template<
template<
typename...>
class F,
typename...
Seqs>
187template<
template<
typename...>
class F,
typename Seq>
194template<usize I,
typename T>
198template<
typename ISeq,
typename... Ts>
200template<
usize... Is,
typename... Ts>
205template<usize I,
typename T>
208template<
typename T, usize I>
215 template<
typename... Ts>
216 using Type =
decltype(_detail::get_type<I>(
225 template<
typename... Ts>
226 using Type =
decltype(_detail::get_idx<T>(
233template<
typename T,
typename... Ts>
236#if VEG_HAS_BUILTIN(__type_pack_element)
238template<
usize I,
typename... Ts>
244template<usize I,
typename... Ts>
245using ith =
typename _detail::type_pack_element<I, Ts...>::type;
247template<usize I,
typename... Ts>
#define VEG_DEF_CONCEPT(Tpl, Name,...)
auto get_type(HollowLeaf< I, T > const *) VEG_NOEXCEPT -> T
auto get_idx(HollowLeaf< I, T > const *) VEG_NOEXCEPT -> meta::constant< usize, I >
typename _detail::pack_idx_elem< T >::template Type< Ts... > position_of
typename _detail::pack_ith_elem< I >::template Type< Ts... > ith
decltype(sizeof(0)) usize
decltype(_detail::get_idx< T >( static_cast< HollowIndexedTuple< meta::make_index_sequence< sizeof...(Ts)>, Ts... > * >( nullptr))) Type
decltype(_detail::get_type< I >( static_cast< HollowIndexedTuple< meta::make_index_sequence< sizeof...(Ts)>, Ts... > * >( nullptr))) Type