14#ifndef __cxz_index_mul_h__ 
   15#define __cxz_index_mul_h__ 
   44    template <
class I1, 
typename Meta1, 
class I2, 
typename Meta2>
 
   79    template <
class I1, 
typename Meta1>
 
   87    template <
class I2, 
typename Meta2>
 
   95    inline decltype(
auto) 
operator*(
const DPack& a, 
const DPack& 
b);
 
  104    template <
class I1, 
class I2>
 
Sptr< Range > rangeCast(const RangePtr r)
std::index_sequence< Is... > Isq
decltype(auto) iptrMul(const Sptr< I1 > &a, const Sptr< I2 > &b)
std::shared_ptr< T > Sptr
static decltype(auto) evalMX(const Sptr< GMIndex< BlockT, Indices... > > &a, const Sptr< I > &b, Isq< Is... > is)
static decltype(auto) evalXM(const Sptr< I > &a, const Sptr< GMIndex< BlockT, Indices... > > &b, Isq< Js... > js)
static decltype(auto) evalMM(const Sptr< GMIndex< BlockT1, Indices1... > > &a, const Sptr< GMIndex< BlockT2, Indices2... > > &b, Isq< Is... > is, Isq< Js... > js)