7  template <
int Dim0, 
int Dim1, 
int Dim2, 
char i, 
char j, 
char k>
 
   12    template <
class B, 
class U>
 
   14           const int N0, 
const int N1, 
const int N2)
 
   16      return rhs(N0, N1, N2);
 
 
   19    template <
class B, 
class U>
 
   21           const int N0, 
const int N1, 
const int N2)
 
   23      return rhs(N0, N2, N1);
 
 
   26    template <
class B, 
class U>
 
   28           const int N0, 
const int N1, 
const int N2)
 
   30      return rhs(N1, N0, N2);
 
 
   33    template <
class B, 
class U>
 
   35           const int N0, 
const int N1, 
const int N2)
 
   37      return rhs(N1, N2, N0);
 
 
   40    template <
class B, 
class U>
 
   42           const int N0, 
const int N1, 
const int N2)
 
   44      return rhs(N2, N0, N1);
 
 
   47    template <
class B, 
class U>
 
   49           const int N0, 
const int N1, 
const int N2)
 
   51      return rhs(N2, N1, N0);
 
 
   55    template <
class B, 
class U, 
int Dim1_0, 
int Dim1_1, 
int Dim1_2, 
char i1,
 
   58           const int N0, 
const int N1, 
const int N2)
 
   60      static_assert(error_when_instantiated<B>(), 
"Incompatible indices");
 
 
   64    template <
class B, 
class U>
 
   66           const int N1, 
const int N2) {
 
   67      static_assert(Dim0 == Dim1, 
"Incompatible indices");
 
   68      return rhs(N0, N1, N2);
 
 
   71    template <
class B, 
class U>
 
   73           const int N1, 
const int N2) {
 
   74      static_assert(Dim0 == Dim1, 
"Incompatible indices");
 
   75      return rhs(N0, N1, N2);
 
 
   79    template <
class B, 
class U, 
int Dim1_01, 
int Dim1_1, 
int Dim1_2, 
char i1,
 
   82           const int N1, 
const int N2) {
 
   83      static_assert(error_when_instantiated<B>(), 
"Incompatible indices");
 
 
 
Tensors class implemented by Walter Landry.
U eval(const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &rhs, const int N0, const int N1, const int N2)
U eval(const Dg_Expr< B, U, Dim1_01, Dim1_2, i1, j1, k1 > &rhs, const int N0, const int N1, const int N2)
U eval(const Dg_Expr< B, U, Dim0, Dim2, i, j, k > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &rhs, const int N0, const int N1, const int N2)
U eval(const Dg_Expr< B, U, Dim0, Dim2, j, i, k > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &rhs, const int N0, const int N1, const int N2)
U eval(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i1, j1, k1 > &rhs, const int N0, const int N1, const int N2)