00001
00015 #ifndef _TENSOR_ARRAY_TYPEDEF_H
00016 #define _TENSOR_ARRAY_TYPEDEF_H
00017
00018
00019 #define def_type_name_for_tensor_array(T, dims)\
00020 \
00021 public:\
00022 typedef TensorArray<T,dims> MyType;\
00023 typedef TensorArray<T,dims+1> SuperType;\
00024 typedef TensorArray<T,dims-1> SubType;\
00025 typedef TensorArray2DIterator<T,dims> row_iterator;\
00026 typedef TensorArray2DReverseIterator<T,dims> row_riterator;\
00027 typedef Iterator<T> element_iterator;\
00028 typedef ReverseIterator<T> element_riterator;\
00029 \
00030 typedef TensorArray1DIterator<T,dims> linear_iterator;\
00031 typedef TensorArray1DReverseIterator<T,dims> linear_riterator;\
00032 typedef TensorArraySliceIterator<T,dims> slc_iterator;\
00033 private:\
00034 friend class TensorArrayRowIterator<T,dims>;\
00035 friend class TensorArray1DIterator<T,dims>;\
00036 friend class TensorArray2DIterator<T,dims>;\
00037 friend class TensorArray1DReverseIterator<T,dims>;\
00038 friend class TensorArray2DReverseIterator<T,dims>;\
00039 friend class TensorArrayIndexIterator<T,dims>;\
00040 \
00041 typedef TensorArrayIndexIterator<T,dims> idx_itr_t;\
00042 typedef typename TensorArrayIndexOperatorTraits<T,dims>::ReturnType idx_op_ret_t;
00043
00044
00045 #endif