Schnek
schnek::SubGrid< BaseGrid, CheckingPolicy > Class Template Reference
Inheritance diagram for schnek::SubGrid< BaseGrid, CheckingPolicy >:
Collaboration diagram for schnek::SubGrid< BaseGrid, CheckingPolicy >:

Public Types

enum  { Rank = BaseGrid::Rank }
 
typedef BaseGrid::value_type value_type
 
typedef Array< int, Rank > IndexType
 
typedef Range< int, Rank > RangeType
 
typedef BaseGrid BaseGridType
 
- Public Types inherited from schnek::GridBase< BaseGrid::value_type, BaseGrid::Rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > >
enum  
 
typedef BaseGrid::value_type value_type
 
typedef CheckingPolicy< BaseGrid::Rank > CheckingPolicyType
 
typedef SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > StoragePolicyType
 
typedef CheckingPolicy< BaseGrid::Rank > ::IndexType IndexType
 
typedef GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > GridBaseType
 
- Public Types inherited from schnek::SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid >
typedef Array< int, rank > IndexType
 
typedef BaseGrid BaseGridType
 
typedef Range< int, rank > DomainType
 

Public Member Functions

 SubGrid ()
 
 SubGrid (const IndexType &size, BaseGridType &baseGrid_)
 
 SubGrid (const IndexType &low, const IndexType &high, BaseGridType &baseGrid_)
 
 SubGrid (const RangeType &range, BaseGridType &baseGrid_)
 
- Public Member Functions inherited from schnek::GridBase< BaseGrid::value_type, BaseGrid::Rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > >
 GridBase (const Array< int, rank, ArrayCheckingPolicy > &size)
 
 GridBase (const Array< int, rank, ArrayCheckingPolicy > &low, const Array< int, rank, ArrayCheckingPolicy > &high)
 
BaseGrid::value_type & operator[] (const Array< int, rank, ArrayCheckingPolicy > &pos)
 
BaseGrid::value_type operator[] (const Array< int, rank, ArrayCheckingPolicy > &pos) const
 
BaseGrid::value_type & operator[] (const ArrayExpression< Operator, Length > &pos)
 
BaseGrid::value_type operator[] (const ArrayExpression< Operator, Length > &pos) const
 
BaseGrid::value_type & operator[] (int i)
 
BaseGrid::value_type operator[] (int i) const
 
BaseGrid::value_type & operator() (int i)
 
BaseGrid::value_type operator() (int i) const
 
BaseGrid::value_type & operator() (int i, int j)
 
BaseGrid::value_type operator() (int i, int j) const
 
BaseGrid::value_type & operator() (int i, int j, int k)
 
BaseGrid::value_type operator() (int i, int j, int k) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l)
 
BaseGrid::value_type operator() (int i, int j, int k, int l) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l, int m)
 
BaseGrid::value_type operator() (int i, int j, int k, int l, int m) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l, int m, int o)
 
BaseGrid::value_type operator() (int i, int j, int k, int l, int m, int o) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l, int m, int o, int p)
 
BaseGrid::value_type operator() (int i, int j, int k, int l, int m, int o, int p) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l, int m, int o, int p, int q)
 
BaseGrid::value_type operator() (int i, int j, int k, int l, int m, int o, int p, int q) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r)
 
BaseGrid::value_type operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r) const
 
BaseGrid::value_type & operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r, int s)
 
BaseGrid::value_type operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r, int s) const
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator= (const GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > &)
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator= (const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &)
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator= (const BaseGrid::value_type &val)
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator-= (GridBase< T2, rank, CheckingPolicy2, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > &)
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator-= (GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &)
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator+= (GridBase< T2, rank, CheckingPolicy2, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > &)
 
GridBase< BaseGrid::value_type, rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > & operator+= (GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &)
 
void resize (const IndexType &size)
 
void resize (const IndexType &low, const IndexType &high)
 
void resize (const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &grid)
 
- Public Member Functions inherited from schnek::SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid >
 SubGridStorage (const IndexType &low_, const IndexType &high_)
 
void resize (const IndexType &low_, const IndexType &high_)
 
BaseGrid::value_type & get (const IndexType &index)
 
const BaseGrid::value_type & get (const IndexType &index) const
 
const IndexTypegetLo () const
 
int getLo (int k) const
 
const IndexTypegetHi () const
 
int getHi (int k) const
 
const IndexTypegetDims () const
 
int getDims (int k) const
 
storage_iterator begin ()
 
storage_iterator end ()
 
const_storage_iterator cbegin () const
 
const_storage_iterator cend () const
 
void setBaseGrid (BaseGridType &baseGrid_)
 

Additional Inherited Members

- Protected Member Functions inherited from schnek::GridBase< BaseGrid::value_type, BaseGrid::Rank, CheckingPolicy< BaseGrid::Rank >, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > >
void copyFromGrid (const GridBase< T2, rank, CheckingPolicy2, SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid > > &grid)
 
- Protected Attributes inherited from schnek::SubGridStorage< BaseGrid::value_type, BaseGrid::Rank, BaseGrid >
BaseGridType * baseGrid
 
DomainType domain
 
IndexType dims
 

Constructor & Destructor Documentation

◆ SubGrid() [1/4]

template<class BaseGrid , template< int > class CheckingPolicy = GridNoArgCheck>
schnek::SubGrid< BaseGrid, CheckingPolicy >::SubGrid ( )

default constructor creates an empty grid

◆ SubGrid() [2/4]

template<class BaseGrid , template< int > class CheckingPolicy = GridNoArgCheck>
schnek::SubGrid< BaseGrid, CheckingPolicy >::SubGrid ( const IndexType size,
BaseGridType &  baseGrid_ 
)

constructor, which builds Grid of size size[0] x ... x size[rank-1]

Example: {verbatim} Grid<double,2>::IndexType size=(512,512); Grid<double,2> m(size); {verbatim}

The ranges then extend from 0 to size[i]-1

◆ SubGrid() [3/4]

template<class BaseGrid , template< int > class CheckingPolicy = GridNoArgCheck>
schnek::SubGrid< BaseGrid, CheckingPolicy >::SubGrid ( const IndexType low,
const IndexType high,
BaseGridType &  baseGrid_ 
)

constructor, which builds Grid with lower indices low[0],...,low[rank-1] and upper indices high[0],...,high[rank-1]

Example: {verbatim} Grid<double,2>::IndexType low(-5,-10); Grid<double,2>::IndexType high(15,36); Grid<double,2> m(low,high); {verbatim}

The ranges then extend from low[i] to high[i]

◆ SubGrid() [4/4]

template<class BaseGrid , template< int > class CheckingPolicy = GridNoArgCheck>
schnek::SubGrid< BaseGrid, CheckingPolicy >::SubGrid ( const RangeType range,
BaseGridType &  baseGrid_ 
)

constructor, which builds Grid spanning the range given by range

Example: {verbatim} Grid<double,2>::IndexType low(-5,-10); Grid<double,2>::IndexType high(15,36); Grid<double,2>::RangeType range(low,high); Grid<double,2> m(range); {verbatim}

The ranges then extends from low[i] to high[i]


The documentation for this class was generated from the following file: