12#ifndef __cxz_xpr_base_cc_h__
13#define __cxz_xpr_base_cc_h__
24 template <
typename T,
class Xpr>
29 template <
typename T,
class Xpr>
32 return std::make_unique<VXpr<T,Xpr>>(*this);
35 template <
typename T,
class Xpr>
41 template <
typename T,
class Xpr>
47 template <
typename T,
class Xpr>
50 return DPos(this->rootSteps(
id));
72 return VB::mC->vexec();
79 return VB::mC->vrootSteps(
IndexId<0>(
id.
id()));
DPos rootSteps(const IndexId< I > &id) const
virtual T vexec(const DPos &last) const =0
virtual T vexec() const override final
virtual Uptr< VXprBase< T > > copy() const override final
virtual DPos vrootSteps(const IndexId< 0 > &id) const override final
VXpr(const XprInterface< Xpr > &a)
std::unique_ptr< T > Uptr
Sptr< Range > rangeCast(const RangePtr r)
Xpression base declarations.