blitz  Version 1.0.2
et-forward.h
Go to the documentation of this file.
1 #ifndef BZ_ET_FORWARD_H
2 #define BZ_ET_FORWARD_H
3 
4 #include <blitz/blitz.h>
5 
6 // forward declarations of ET classes
7 
8 namespace blitz {
9 
10 template<typename T> class ETBase;
11 
12 // the actual array/vector classes
13 template<typename P_numtype, int N_rank> class Array;
14 template<typename P_numtype, int N_length> class TinyVector;
15 template<typename P_numtype, int N_rows, int N_columns> class TinyMatrix;
16 
17 // and their fast iterators
18 template<typename P_numtype, int N_rank> class FastArrayIterator;
19 template<typename P_numtype, int N_rank> class FastArrayCopyIterator;
20 template<typename P_numtype, int N_length> class FastTV2Iterator;
21 template<typename P_numtype, int N_length> class FastTV2CopyIterator;
22 template<typename P_numtype, int N_rows,
23  int N_columns> class FastTM2Iterator;
24 template<typename P_numtype, int N_rows,
25  int N_columns> class FastTM2CopyIterator;
26 
27 // expression container classes
28 template<typename P_expr> class _bz_ArrayExpr;
29 template<typename P_expr, typename P_op> class _bz_ArrayExprUnaryOp;
30 template<typename P_expr1, typename P_expr2,
31  typename P_op> class _bz_ArrayExprBinaryOp;
32 template<typename P_expr1, typename P_expr2,
33  typename P_expr3, typename P_op> class _bz_ArrayExprTernaryOp;
34 template<typename P_expr1, typename P_expr2, typename P_expr3,
35  typename P_expr4, typename P_op> class _bz_ArrayExprQuaternaryOp;
36 template<typename P_numtype> class _bz_ArrayExprConstant;
37 
38 // more specialized expression types
39 template<typename P_expr, int N_map0, int N_map1=0, int N_map2=0,
40  int N_map3=0, int N_map4=0, int N_map5=0, int N_map6=0, int N_map7=0,
41  int N_map8=0, int N_map9=0, int N_map10=0> class ArrayIndexMapping;
42 
43 template<typename T_expr, int N_index,
44  typename T_reduction> class _bz_ArrayExprReduce;
45 
46 template<typename P_expr, _bz_typename P_result> class _bz_StencilExpr;
47 
48 template<int N> class IndexPlaceholder;
49 
50 template<typename P_expr1, typename P_expr2,
51  typename P_expr3> class _bz_ArrayWhere;
52 
53 // functors
54 template<typename P_functor, typename P_expr,
55  typename P_result> class _bz_FunctorExpr;
56 
57 template<typename P_functor, typename P_expr1,
58  typename P_expr2, typename P_result> class _bz_FunctorExpr2;
59 
60 template<typename P_functor, typename P_expr1,
61  typename P_expr2, typename P_expr3,
62  class P_result> class _bz_FunctorExpr3;
63 
64 class LeviCivita;
65 
66 class Range;
67 
68 }
69 
70 
71 #endif
Definition: et-forward.h:29
Definition: et-forward.h:21
Definition: et-forward.h:46
Definition: et-forward.h:41
Definition: et-forward.h:25
Definition: et-forward.h:62
Definition: et-forward.h:10
Definition: et-forward.h:19
Definition: et-forward.h:58
Definition: et-forward.h:20
Definition: et-forward.h:23
Definition: array-impl.h:82
Definition: array-impl.h:66
Definition: et-forward.h:48
Definition: et-forward.h:33
Definition: et-forward.h:44
Definition: et-forward.h:51
Declaration of class Array, the "Swiss army knife" of Blitz expression template classes.
Definition: array-impl.h:106
Definition: et-forward.h:31
Definition: et-forward.h:35
Definition: et-forward.h:55
Definition: range.h:65
Definition: et-forward.h:36
The TinyVector class is a one-dimensional, fixed length vector that implements the blitz expression t...
Definition: et-forward.h:14
Definition: array-impl.h:79
Definition: et-forward.h:15
Definition: levicivita.h:16