22 template <
typename T, SizeT N>
37 template <
typename T, SizeT N>
40 template <
typename T, SizeT N>
43 template <
typename T, SizeT N>
51 inline decltype(
auto)
vregi(
const T*
d,
const EPosT& pos, std::index_sequence<Is...>
is);
53 template <
typename T,
class EPosT>
54 inline decltype(
auto)
vreg(
const T*
d,
const EPosT& pos);
56 template <
typename T,
class EPosT>
63 template <SizeT I,
typename T>
64 constexpr decltype(
auto)
consecGet(
const T& a);
66 template <SizeT I,
typename T>
77 std::index_sequence<Is...>
is);
81 std::index_sequence<Is...>
is);
93 template <
typename T,
typename U, SizeT N>
96 static constexpr decltype(
auto)
99 static constexpr decltype(
auto)
103 template <
typename T,
typename X, SizeT N>
106 static constexpr decltype(
auto)
109 static constexpr decltype(
auto)
112 static constexpr decltype(
auto)
116 template <
typename T,
typename U, SizeT N>
120 template <
typename T,
typename U, SizeT N>
124 template <
typename T,
typename U, SizeT N>
128 template <
typename T,
typename U, SizeT N>
132 template <
typename T,
typename U, SizeT N>
140 template <
typename T,
typename U, SizeT N>
143 static constexpr decltype(
auto)
146 static constexpr decltype(
auto)
150 template <
typename T,
typename X, SizeT N>
153 static constexpr decltype(
auto)
156 static constexpr decltype(
auto)
159 static constexpr decltype(
auto)
163 template <
typename T,
typename U, SizeT N>
167 template <
typename T,
typename U, SizeT N>
171 template <
typename T,
typename U, SizeT N>
175 template <
typename T,
typename U, SizeT N>
179 template <
typename T,
typename U, SizeT N>
187 template <
typename T,
typename U, SizeT N>
190 static constexpr decltype(
auto)
193 static constexpr decltype(
auto)
197 template <
typename T,
typename X, SizeT N>
200 static constexpr decltype(
auto)
203 static constexpr decltype(
auto)
206 static constexpr decltype(
auto)
210 template <
typename T,
typename U, SizeT N>
214 template <
typename T,
typename U, SizeT N>
218 template <
typename T,
typename U, SizeT N>
222 template <
typename T,
typename U, SizeT N>
226 template <
typename T,
typename U, SizeT N>
234 template <
typename T,
typename U, SizeT N>
237 static constexpr decltype(
auto)
240 static constexpr decltype(
auto)
244 template <
typename T,
typename X, SizeT N>
247 static constexpr decltype(
auto)
250 static constexpr decltype(
auto)
253 static constexpr decltype(
auto)
257 template <
typename T,
typename U, SizeT N>
261 template <
typename T,
typename U, SizeT N>
265 template <
typename T,
typename U, SizeT N>
269 template <
typename T,
typename U, SizeT N>
273 template <
typename T,
typename U, SizeT N>
constexpr decltype(auto) consecGet(const T &a)
constexpr decltype(auto) consecFuncI(const F &f, const Args &... args, std::index_sequence< Is... > is)
constexpr decltype(auto) consecApply(const F &f, const Args &... args)
constexpr Consecutive< T, N > & operator+=(Consecutive< T, N > &o, const Consecutive< U, N > &a)
decltype(auto) vregi(const T *d, const EPosT &pos, std::index_sequence< Is... > is)
constexpr Consecutive< T, N > & operator-=(Consecutive< T, N > &o, const Consecutive< U, N > &a)
constexpr Consecutive< T, N > & operator*=(Consecutive< T, N > &o, const Consecutive< U, N > &a)
Sptr< Range > rangeCast(const RangePtr r)
constexpr decltype(auto) consecFunc(const F &f, const Args &... args)
constexpr Dst & consecFuncAI(const F &f, Dst &dst, const Args &... args, std::index_sequence< Is... > is)
constexpr Dst & consecAssign(const F &f, Dst &dst, const Args &... args)
decltype(auto) vreg(const T *d, const EPosT &pos)
constexpr Dst & consecFuncA(const F &f, Dst &dst, const Args &... args)
constexpr Consecutive< T, N > & operator/=(Consecutive< T, N > &o, const Consecutive< U, N > &a)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const Consecutive< U, N > &b)
static constexpr decltype(auto) aeval(Consecutive< T, N > &a, const X &b)
static constexpr decltype(auto) eval(const Consecutive< T, N > &a, const X &b)
static constexpr SizeT value