12#ifndef __cxz_lindex_cc_h__
13#define __cxz_lindex_cc_h__
19 template <
class Index, SizeT L>
25 template <
class Index, SizeT L>
31 template <
class Index, SizeT L>
35 if constexpr(
L == 0
and I == 0){
36 return UPos(mI->id() ==
id ? 1 : 0);
39 if constexpr(
L == I) {
48 template <
class Index, SizeT L>
49 template <
class Xpr,
class F>
52 return For<L,Xpr,F>(this->pmax().val(), this->
id(), xpr, std::forward<F>(
f));
55 template <
class Index, SizeT L,
class I1>
61 template <SizeT L,
class Index>
64 return std::make_shared<LIndex<Index,L>>(
i );
67 template <
class Index, SizeT L>
LIndex(const Sptr< Index > &i)
Statically labeled index.
decltype(auto) xpr(const Sptr< I > &i)
std::integral_constant< SizeT, N > CSizeT
Sptr< Range > rangeCast(const RangePtr r)
decltype(auto) iptrMul(const Sptr< I1 > &a, const Sptr< I2 > &b)
decltype(auto) lindexPtr(const Sptr< Index > &i)
std::shared_ptr< T > Sptr