2017-12-17 17:40:55 +01:00
|
|
|
|
2021-07-28 20:59:31 +02:00
|
|
|
#ifndef __cxz_mbase_def_h__
|
|
|
|
#define __cxz_mbase_def_h__
|
2017-12-17 17:40:55 +01:00
|
|
|
|
2019-02-06 12:21:42 +01:00
|
|
|
#include "ranges/rbase_def.h"
|
2019-02-13 21:59:13 +01:00
|
|
|
#include "allocator.h"
|
2019-02-06 12:21:42 +01:00
|
|
|
|
2021-07-28 20:29:56 +02:00
|
|
|
namespace CNORXZ
|
2017-12-17 17:40:55 +01:00
|
|
|
{
|
|
|
|
/***********************
|
|
|
|
* Provided Types *
|
|
|
|
***********************/
|
|
|
|
|
2021-05-28 20:35:24 +02:00
|
|
|
template <class... Ranges>
|
|
|
|
using ContainerRangeFactory = MultiRangeFactory<Ranges...>;
|
|
|
|
|
|
|
|
template <class... Ranges>
|
|
|
|
using ContainerRange = MultiRange<Ranges...>;
|
|
|
|
|
|
|
|
// container_index.h
|
|
|
|
template <typename T, class... Indices>
|
|
|
|
class ConstContainerIndex;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_array.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class... SRanges>
|
2021-07-28 20:59:31 +02:00
|
|
|
class ArrayBase;
|
2017-12-17 17:40:55 +01:00
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_array.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class... SRanges>
|
2021-07-28 20:59:31 +02:00
|
|
|
class MutableArrayBase;
|
2017-12-17 17:40:55 +01:00
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_array.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class... SRanges>
|
2021-07-28 20:59:31 +02:00
|
|
|
class Array;
|
2017-12-17 17:40:55 +01:00
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2018-05-18 20:23:21 +02:00
|
|
|
template <typename T, class OperationClass>
|
2017-12-17 17:40:55 +01:00
|
|
|
class OperationBase;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class OperationClass>
|
|
|
|
class OperationTemplate;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class... Ranges>
|
|
|
|
class OperationRoot;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2019-03-06 13:08:33 +01:00
|
|
|
template <typename T, class... Ranges>
|
|
|
|
class ParallelOperationRoot;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2018-07-17 20:01:25 +02:00
|
|
|
template <typename T>
|
|
|
|
class OperationValue;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class... Ranges>
|
|
|
|
class ConstOperationRoot;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2021-03-17 20:09:43 +01:00
|
|
|
template <typename T, class Op>
|
|
|
|
class OperationPointer;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class OpFunction, class... Ops>
|
|
|
|
class Operation;
|
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2017-12-17 17:40:55 +01:00
|
|
|
template <typename T, class Op, class IndexType>
|
|
|
|
class Contraction;
|
2018-03-05 21:52:12 +01:00
|
|
|
|
2021-07-28 19:55:37 +02:00
|
|
|
// cxz_operation.h
|
2018-09-15 01:58:17 +02:00
|
|
|
template <typename T, class Op, class... Indices>
|
|
|
|
class SliceContraction;
|
|
|
|
|
2018-03-05 21:52:12 +01:00
|
|
|
// slice.h
|
|
|
|
template <typename T, class... SRanges>
|
|
|
|
class Slice;
|
|
|
|
|
2018-08-06 15:20:06 +02:00
|
|
|
template <typename T, class... SRanges>
|
|
|
|
class ConstSlice;
|
|
|
|
|
2018-03-05 21:52:12 +01:00
|
|
|
// slice.h
|
|
|
|
template <typename T, class... SRanges>
|
|
|
|
class SliceDef;
|
2018-08-18 16:24:13 +02:00
|
|
|
|
2018-09-13 13:28:40 +02:00
|
|
|
// slice.h
|
|
|
|
template <typename T, class... SRanges>
|
|
|
|
class ConstSliceDef;
|
|
|
|
|
2018-08-18 16:24:13 +02:00
|
|
|
// map_range.h
|
2021-01-09 00:45:24 +01:00
|
|
|
template <class OITpye, class MapF, SpaceType XSTYPE, class... Indices>
|
2019-02-06 12:21:42 +01:00
|
|
|
class GenMapIndex;
|
2018-08-18 16:24:13 +02:00
|
|
|
|
|
|
|
// map_range.h
|
2021-01-09 00:45:24 +01:00
|
|
|
template <class ORType, class MapF, SpaceType XSTYPE, class... Ranges>
|
2019-02-06 12:21:42 +01:00
|
|
|
class GenMapRangeFactory;
|
2018-08-18 16:24:13 +02:00
|
|
|
|
|
|
|
// map_range.h
|
2021-01-09 00:45:24 +01:00
|
|
|
template <class ORType, class MapF, SpaceType XSTYPE, class... Ranges>
|
2019-02-06 12:21:42 +01:00
|
|
|
class GenMapRange;
|
2017-12-17 17:40:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|