27 #ifndef SCHNEK_GRID_H_ 28 #define SCHNEK_GRID_H_ 32 #include "gridcheck.hpp" 33 #include "gridstorage.hpp" 34 #include "../typetools.hpp" 38 template<
class Gr
idType,
typename TList>
41 template<
class IndexType>
44 template<
class Operator,
int Length>
54 class GridBase :
public StoragePolicy,
public CheckingPolicy
58 typedef CheckingPolicy CheckingPolicyType;
59 typedef StoragePolicy StoragePolicyType;
60 typedef typename CheckingPolicy::IndexType IndexType;
66 template<
template<
int>
class ArrayCheckingPolicy>
69 template<
template<
int>
class ArrayCheckingPolicy>
73 template<
template<
int>
class ArrayCheckingPolicy>
76 template<
template<
int>
class ArrayCheckingPolicy>
80 template<
class Operator,
int Length>
83 template<
class Operator,
int Length>
106 T
operator()(
int i,
int j,
int k,
int l)
const;
108 T&
operator()(
int i,
int j,
int k,
int l,
int m);
110 T
operator()(
int i,
int j,
int k,
int l,
int m)
const;
112 T&
operator()(
int i,
int j,
int k,
int l,
int m,
int o);
114 T
operator()(
int i,
int j,
int k,
int l,
int m,
int o)
const;
116 T&
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p);
118 T
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p)
const;
120 T&
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p,
int q);
122 T
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p,
int q)
const;
124 T&
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p,
int q,
int r);
126 T
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p,
int q,
int r)
const;
128 T&
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p,
int q,
int r,
int s);
130 T
operator()(
int i,
int j,
int k,
int l,
int m,
int o,
int p,
int q,
int r,
int s)
const;
139 class CheckingPolicy2,
151 class CheckingPolicy2
158 class CheckingPolicy2,
166 class CheckingPolicy2
174 class CheckingPolicy2,
191 void resize(
const IndexType &size);
206 void resize(
const IndexType &low,
const IndexType &high);
211 class CheckingPolicy2,
218 template<
typename T2,
class CheckingPolicy2>
235 class Grid :
public GridBase<T, rank, CheckingPolicy<rank>, StoragePolicy<T,rank> >
239 typedef T value_type;
259 Grid(
const IndexType &size);
273 Grid(
const IndexType &low,
const IndexType &high);
287 Grid(
const RangeType &range);
307 BaseType::operator=(val);
314 BaseType::operator=(grid);
321 class CheckingPolicy2,
326 BaseType::operator=(grid);
335 #endif // SCHNEK_GRID_H_
T & operator[](const Array< int, rank, ArrayCheckingPolicy > &pos)
Definition: gridstorage.hpp:232
GridType & operator=(const GridType &grid)
Definition: grid.hpp:312
GridType & operator=(const T &val)
Definition: grid.hpp:305
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator=(const GridBase< T, rank, CheckingPolicy, StoragePolicy > &)
void resize(const IndexType &size)
GridType & operator=(const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &grid)
Definition: grid.hpp:324
Definition: gridcheck.hpp:38