Schnek
schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy > Class Template Reference

#include <grid.hpp>

Inheritance diagram for schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >:
Collaboration diagram for schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >:

Public Types

enum  { Rank = rank }
 
typedef T value_type
 
typedef CheckingPolicy CheckingPolicyType
 
typedef StoragePolicy StoragePolicyType
 
typedef CheckingPolicy::IndexType IndexType
 
typedef GridBase< T, rank, CheckingPolicy, StoragePolicy > GridBaseType
 

Public Member Functions

template<template< int > class ArrayCheckingPolicy>
 GridBase (const Array< int, rank, ArrayCheckingPolicy > &size)
 
template<template< int > class ArrayCheckingPolicy>
 GridBase (const Array< int, rank, ArrayCheckingPolicy > &low, const Array< int, rank, ArrayCheckingPolicy > &high)
 
template<template< int > class ArrayCheckingPolicy>
T & operator[] (const Array< int, rank, ArrayCheckingPolicy > &pos)
 
template<template< int > class ArrayCheckingPolicy>
operator[] (const Array< int, rank, ArrayCheckingPolicy > &pos) const
 
template<class Operator , int Length>
T & operator[] (const ArrayExpression< Operator, Length > &pos)
 
template<class Operator , int Length>
operator[] (const ArrayExpression< Operator, Length > &pos) const
 
T & operator[] (int i)
 
operator[] (int i) const
 
T & operator() (int i)
 
operator() (int i) const
 
T & operator() (int i, int j)
 
operator() (int i, int j) const
 
T & operator() (int i, int j, int k)
 
operator() (int i, int j, int k) const
 
T & operator() (int i, int j, int k, int l)
 
operator() (int i, int j, int k, int l) const
 
T & operator() (int i, int j, int k, int l, int m)
 
operator() (int i, int j, int k, int l, int m) const
 
T & operator() (int i, int j, int k, int l, int m, int o)
 
operator() (int i, int j, int k, int l, int m, int o) const
 
T & operator() (int i, int j, int k, int l, int m, int o, int p)
 
operator() (int i, int j, int k, int l, int m, int o, int p) const
 
T & operator() (int i, int j, int k, int l, int m, int o, int p, int q)
 
operator() (int i, int j, int k, int l, int m, int o, int p, int q) const
 
T & operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r)
 
operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r) const
 
T & operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r, int s)
 
operator() (int i, int j, int k, int l, int m, int o, int p, int q, int r, int s) const
 
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator= (const GridBase< T, rank, CheckingPolicy, StoragePolicy > &)
 
template<typename T2 , class CheckingPolicy2 , class StoragePolicy2 >
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator= (const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &)
 
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator= (const T &val)
 
template<typename T2 , class CheckingPolicy2 >
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator-= (GridBase< T2, rank, CheckingPolicy2, StoragePolicy > &)
 
template<typename T2 , class CheckingPolicy2 , class StoragePolicy2 >
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator-= (GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &)
 
template<typename T2 , class CheckingPolicy2 >
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator+= (GridBase< T2, rank, CheckingPolicy2, StoragePolicy > &)
 
template<typename T2 , class CheckingPolicy2 , class StoragePolicy2 >
GridBase< T, rank, CheckingPolicy, StoragePolicy > & operator+= (GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &)
 
void resize (const IndexType &size)
 
void resize (const IndexType &low, const IndexType &high)
 
template<typename T2 , class CheckingPolicy2 , class StoragePolicy2 >
void resize (const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &grid)
 

Protected Member Functions

template<typename T2 , class CheckingPolicy2 >
void copyFromGrid (const GridBase< T2, rank, CheckingPolicy2, StoragePolicy > &grid)
 

Detailed Description

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
class schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >

An elementary grid class

Member Function Documentation

◆ operator()() [1/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i)

index operator, writing

◆ operator()() [2/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i) const

index operator, reading

◆ operator()() [3/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j 
)

index operator, writing

◆ operator()() [4/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j 
) const

index operator, reading

◆ operator()() [5/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k 
)

index operator, writing

◆ operator()() [6/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k 
) const

index operator, reading

◆ operator()() [7/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l 
)

index operator, writing

◆ operator()() [8/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l 
) const

index operator, reading

◆ operator()() [9/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m 
)

index operator, writing

◆ operator()() [10/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m 
) const

index operator, reading

◆ operator()() [11/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o 
)

index operator, writing

◆ operator()() [12/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o 
) const

index operator, reading

◆ operator()() [13/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p 
)

index operator, writing

◆ operator()() [14/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p 
) const

index operator, reading

◆ operator()() [15/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p,
int  q 
)

index operator, writing

◆ operator()() [16/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p,
int  q 
) const

index operator, reading

◆ operator()() [17/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p,
int  q,
int  r 
)

index operator, writing

◆ operator()() [18/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p,
int  q,
int  r 
) const

index operator, reading

◆ operator()() [19/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p,
int  q,
int  r,
int  s 
)

index operator, writing

◆ operator()() [20/20]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator() ( int  i,
int  j,
int  k,
int  l,
int  m,
int  o,
int  p,
int  q,
int  r,
int  s 
) const

index operator, reading

◆ operator=() [1/3]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
GridBase<T, rank, CheckingPolicy, StoragePolicy>& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator= ( const GridBase< T, rank, CheckingPolicy, StoragePolicy > &  )

assign another grid

◆ operator=() [2/3]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
template<typename T2 , class CheckingPolicy2 , class StoragePolicy2 >
GridBase<T, rank, CheckingPolicy, StoragePolicy>& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator= ( const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &  )

assign another grid

◆ operator=() [3/3]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
GridBase<T, rank, CheckingPolicy, StoragePolicy>& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator= ( const T &  val)

assign a value

◆ operator[]() [1/6]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
template<template< int > class ArrayCheckingPolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator[] ( const Array< int, rank, ArrayCheckingPolicy > &  pos)

index operator, writing

◆ operator[]() [2/6]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
template<template< int > class ArrayCheckingPolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator[] ( const Array< int, rank, ArrayCheckingPolicy > &  pos) const

index operator, reading

◆ operator[]() [3/6]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
template<class Operator , int Length>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator[] ( const ArrayExpression< Operator, Length > &  pos)

index operator, writing

◆ operator[]() [4/6]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
template<class Operator , int Length>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator[] ( const ArrayExpression< Operator, Length > &  pos) const

index operator, reading

◆ operator[]() [5/6]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T& schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator[] ( int  i)

index operator, for 1D grids, writing

◆ operator[]() [6/6]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
T schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::operator[] ( int  i) const

index operator, for 1D grids, reading

◆ resize() [1/3]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
void schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::resize ( const IndexType &  size)

Resize to size[0] x ... x size[rank-1]

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

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

◆ resize() [2/3]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
void schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::resize ( const IndexType &  low,
const IndexType &  high 
)

Resize to 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; m.resize(l,h); {verbatim}

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

◆ resize() [3/3]

template<typename T, int rank, class CheckingPolicy, class StoragePolicy>
template<typename T2 , class CheckingPolicy2 , class StoragePolicy2 >
void schnek::GridBase< T, rank, CheckingPolicy, StoragePolicy >::resize ( const GridBase< T2, rank, CheckingPolicy2, StoragePolicy2 > &  grid)

Resize to match the size of another matrix


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