#ifndef BZ_ARRAYASEXPR_H #define BZ_ARRAYASEXPR_H #ifndef BZ_ARRAY_H #error must be included via #endif BZ_NAMESPACE(blitz) // The traits class asExpr converts arbitrary things to // expression templatable operands. // Default to scalar. template struct asExpr { typedef _bz_ArrayExprConstant T_expr; }; // Already an expression template term template struct asExpr<_bz_ArrayExpr > { typedef _bz_ArrayExpr T_expr; }; // An array operand template struct asExpr > { typedef ArrayIterator T_expr; }; // Index placeholder template struct asExpr > { typedef IndexPlaceholder T_expr; }; BZ_NAMESPACE_END #endif