#ifndef FORWARD_DECLARE_H #define FORWARD_DECLARE_H namespace Fastor { // FORWARD DECLARATIONS //---------------------------------------------------------------- template struct BinaryAddOp; template struct BinarySubOp; template struct BinaryMulOp; template struct BinaryDivOp; template struct BinaryMatMulOp; template struct UnaryAddOp; template struct UnarySubOp; template struct UnaryAbsOp; template struct UnarySqrtOp; template struct UnaryExpOp; template struct UnaryLogOp; template struct UnarySinOp; template struct UnaryCosOp; template struct UnaryTanOp; template struct UnaryAsinOp; template struct UnaryAcosOp; template struct UnaryAtanOp; template struct UnarySinhOp; template struct UnaryCoshOp; template struct UnaryTanhOp; template struct UnaryTransOp; template struct TensorViewExpr; template struct TensorConstViewExpr; template struct TensorRandomViewExpr; template struct TensorFilterViewExpr; template struct TensorConstRandomViewExpr; template struct TensorFixedViewExpr1D; template struct TensorConstFixedViewExpr1D; template struct TensorFixedViewExpr2D; template struct TensorConstFixedViewExpr2D; template struct TensorConstFixedViewExprnD; template struct TensorFixedViewExprnD; template struct TensorDiagViewExpr; template struct Index; template struct nprods; template struct nprods_views; #define FASTOR_MAKE_UNARY_BOOL_OP_FORWARD_DECLARATION(NAME)\ template\ struct Unary ##NAME ## Op;\ FASTOR_MAKE_UNARY_BOOL_OP_FORWARD_DECLARATION(Not) FASTOR_MAKE_UNARY_BOOL_OP_FORWARD_DECLARATION(Isinf) FASTOR_MAKE_UNARY_BOOL_OP_FORWARD_DECLARATION(Isnan) FASTOR_MAKE_UNARY_BOOL_OP_FORWARD_DECLARATION(Isfinite) template struct is_unary_bool_op; #define FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(NAME)\ template\ struct BinaryCmpOp##NAME ;\ FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(EQ) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(NEQ) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(LT) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(GT) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(LE) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(GE) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(AND) FASTOR_MAKE_BINARY_CMP_OP_FORWARD_DECLARATION(OR) template struct is_binary_cmp_op; //---------------------------------------------------------------- } #endif // FORWARD_DECLARE_H