source: XIOS/dev/dev_olga/src/extern/blitz/include/blitz/et-forward.h @ 1022

Last change on this file since 1022 was 1022, checked in by mhnguyen, 7 years ago
File size: 2.3 KB
Line 
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
8BZ_NAMESPACE(blitz)
9
10template<typename T> class ETBase;
11
12// the actual array/vector classes
13template<typename P_numtype, int N_rank> class Array;
14template<typename P_numtype, int N_length> class TinyVector;
15template<typename P_numtype, int N_rows, int N_columns> class TinyMatrix;
16
17// and their fast iterators
18template<typename P_numtype, int N_rank> class FastArrayIterator;
19template<typename P_numtype, int N_rank> class FastArrayCopyIterator;
20template<typename P_numtype, int N_length> class FastTV2Iterator;
21template<typename P_numtype, int N_length> class FastTV2CopyIterator;
22template<typename P_numtype, int N_rows, 
23         int N_columns> class FastTM2Iterator;
24template<typename P_numtype, int N_rows, 
25         int N_columns> class FastTM2CopyIterator;
26
27// expression container classes
28template<typename P_expr> class _bz_ArrayExpr;
29template<typename P_expr, typename P_op> class _bz_ArrayExprUnaryOp;
30template<typename P_expr1, typename P_expr2, 
31         typename P_op> class _bz_ArrayExprBinaryOp;
32template<typename P_expr1, typename P_expr2, 
33         typename P_expr3, typename P_op> class _bz_ArrayExprTernaryOp;
34template<typename P_expr1, typename P_expr2, typename P_expr3,
35         typename P_expr4, typename P_op> class _bz_ArrayExprQuaternaryOp;
36template<typename P_numtype> class _bz_ArrayExprConstant;
37
38// more specialized expression types
39template<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
43template<typename T_expr, int N_index, 
44         typename T_reduction> class _bz_ArrayExprReduce;
45
46template<typename P_expr, _bz_typename P_result> class _bz_StencilExpr;
47
48template<int N> class IndexPlaceholder;
49
50template<typename P_expr1, typename P_expr2, 
51         typename P_expr3> class _bz_ArrayWhere;
52
53// functors
54template<typename P_functor, typename P_expr,
55         typename P_result> class _bz_FunctorExpr;
56
57template<typename P_functor, typename P_expr1, 
58         typename P_expr2, typename P_result> class _bz_FunctorExpr2;
59
60template<typename P_functor, typename P_expr1, 
61         typename P_expr2, typename P_expr3,
62         class P_result> class _bz_FunctorExpr3;
63
64class LeviCivita;
65
66class Range;
67
68BZ_NAMESPACE_END
69
70
71#endif
Note: See TracBrowser for help on using the repository browser.