FreePOOMA  2.4.1
Public Types | Public Member Functions
Array< Dim, T, EngineTag > Class Template Reference

Arrays are used to apply operations to N-dimensional (N <= 7) logically rectangular, logically dense sets of elements. More...

#include <Array.h>

Inheritance diagram for Array< Dim, T, EngineTag >:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { dimensions = Engine_t::dimensions }
 The enum 'rank' gives the rank of this array. More...
enum  { rank = Engine_t::dimensions }
enum  { hasRelations = false }
typedef Array< Dim, T, EngineTag > This_t
 This_t is a convenience typedef referring to this class.
typedef Engine< Dim, T, EngineTag > Engine_t
 Engine_t is a typedef that maps the EngineTag to the Engine type.
typedef EngineTag EngineTag_t
 Engine Tag_t is this tag type, exported to other classes.
typedef Engine_t::Element_t Element_t
 Element_t is the type of elements managed by this array's engine.
typedef Engine_t::ElementRef_t ElementRef_t
 ElementRef_t is the type that is used to write to a single element.
typedef Engine_t::Domain_t Domain_t
 The typedef Domain_t gives the type of domain this array is defined on.
typedef Engine_t::Layout_t Layout_t

Public Member Functions

 Array ()
 Default constructor for Array. Exists so array can be resized.
template<int D1, class T1 , class E1 , int D2, class T2 , class E2 >
 Array (const Array< D1, T1, E1 > &a1, const Array< D2, T2, E2 > &a2)
 Indirection Array constructors.
 Array (const This_t &model)
 One way for a user to construct an Array is to use another Array as a model.
template<int OtherDim, class OtherT , class OtherEngineTag >
 Array (const Array< OtherDim, OtherT, OtherEngineTag > &model)
 This ctor is called, for example, to initialize a brick-view with a compressible brick.
template<int OtherDim, class OtherT , class OtherEngineTag , class OtherDomain >
 Array (const Array< OtherDim, OtherT, OtherEngineTag > &model, const OtherDomain &domain)
template<class OtherT , class OtherEngineTag , class Components >
 Array (const Array< Dim, OtherT, OtherEngineTag > &a, const ComponentWrapper< Components > &c)
 ~Array ()
 The destructor is trivial since the engine is implicitly destroyed.
Engine_t::Layout_t layout () const
 Returns the Array's layout.
void makeOwnCopy ()
 Instruct the array to make its own copy of its data.
Engine Array constructors.
 Array (const Engine_t &modelEngine)
template<int Dim2, class T2 , class EngineTag2 , class Initializer >
 Array (const Engine< Dim2, T2, EngineTag2 > &engine, const Initializer &init)
constructors passing domain information to the engine

All of these constructors pass domain information to the engine.

These domains are formed by combining up to 7 subdomains, which must yield an Interval<N>, where N must be the same as the rank of the array. These constructors call the default constructor for Element_t.

template<class Sub1 >
 Array (const Sub1 &s1)
template<class Sub1 , class Sub2 >
 Array (const Sub1 &s1, const Sub2 &s2)
template<class Sub1 , class Sub2 , class Sub3 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const Sub7 &s7)
constructors passing domain information to the engine along with a model element

All of these constructors pass domain information to the engine along with a model element, which is used to initialize all array elements.

Therefore, it is assumed that Element_t either has deep-copy semantics by default, or can be made to have it using a wrapper class. These domains are formed by combining up to 7 subdomains, which must yield an Interval<N>, where N must be the same as the rank of the array.

template<class Sub1 >
 Array (const Sub1 &s1, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 >
 Array (const Sub1 &s1, const Sub2 &s2, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
 Array (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const Sub7 &s7, const ModelElement< Element_t > &model)
Array initializers
void initialize (const Engine_t &modelEngine)
template<int Dim2, class T2 , class EngineTag2 , class Initializer >
void initialize (const Engine< Dim2, T2, EngineTag2 > &engine, const Initializer &init)
Initializers from array

One way for a user to initialize an Array is to use another Array as a model.

The non-templated version is the copy constructor. For the templated versions to work, Engine_t must possess a constructor that takes an OtherEngine and, perhaps, an OtherDomain.

void initialize (const This_t &model)
template<int OtherDim, class OtherT , class OtherEngineTag >
void initialize (const Array< OtherDim, OtherT, OtherEngineTag > &model)
template<int OtherDim, class OtherT , class OtherEngineTag , class OtherDomain >
void initialize (const Array< OtherDim, OtherT, OtherEngineTag > &model, const OtherDomain &domain)
Initializers from domain

All of these initializers pass domain information to the engine.

These domains are formed by combining up to 7 subdomains, which must yield an Interval<N>, where N must be the same as the rank of the array. These initializers call the default constructor for Element_t.

template<class Sub1 >
void initialize (const Sub1 &s1)
template<class Sub1 , class Sub2 >
void initialize (const Sub1 &s1, const Sub2 &s2)
template<class Sub1 , class Sub2 , class Sub3 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const Sub7 &s7)
Initializers from domain and model

All of these constructors pass domain information to the engine along with a model element, which is used to initialize all array elements.

Therefore, it is assumed that Element_t either has deep-copy semantics by default, or can be made to have it using a wrapper class. These domains are formed by combining up to 7 subdomains, which must yield an Interval<N>, where N must be the same as the rank of the array.

template<class Sub1 >
void initialize (const Sub1 &s1, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 >
void initialize (const Sub1 &s1, const Sub2 &s2, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const ModelElement< Element_t > &model)
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
void initialize (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const Sub7 &s7, const ModelElement< Element_t > &model)
Accessors and mutators
Patch< This_t >::Type_t patchLocal (int i) const
 Patch accessor function returns the i'th patch.
int numPatchesLocal () const
Domain accessors

Accessor functions that return this array's domain, which is obtained from the engine.

Note that arrays dont distinguish between vertex and cell domains and such the array's domains are vertex domains in the field sense.

const Domain_tdomain () const
 Shortcut for totalDomain().
Domain_t physicalDomain () const
 Returns the physical domain, i.e. the domain without external guards.
const Domain_ttotalDomain () const
 Returns the total domain, i.e. the domain with external guards.
View0< This_t >::ReadType_t read () const
 View-creation operations.
template<class Sub1 >
View1< This_t, Sub1 >::ReadType_t read (const Sub1 &s1) const
template<class Sub1 , class Sub2 >
View2< This_t, Sub1, Sub2 >
::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2) const
template<class Sub1 , class Sub2 , class Sub3 >
View3< This_t, Sub1, Sub2,
Sub3 >::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
View4< This_t, Sub1, Sub2,
Sub3, Sub4 >::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
View5< This_t, Sub1, Sub2,
Sub3, Sub4, Sub5 >::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
View6< This_t, Sub1, Sub2,
Sub3, Sub4, Sub5, Sub6 >
::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
View7< This_t, Sub1, Sub2,
Sub3, Sub4, Sub5, Sub6, Sub7 >
::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const Sub7 &s7) const
View0< This_t >::Type_t operator() () const
template<class Sub1 >
View1< This_t, Sub1 >::Type_t operator() (const Sub1 &s1) const
template<class Sub1 , class Sub2 >
View2< This_t, Sub1, Sub2 >::Type_t operator() (const Sub1 &s1, const Sub2 &s2) const
template<class Sub1 , class Sub2 , class Sub3 >
View3< This_t, Sub1, Sub2,
Sub3 >::Type_t 
operator() (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
View4< This_t, Sub1, Sub2,
Sub3, Sub4 >::Type_t 
operator() (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
View5< This_t, Sub1, Sub2,
Sub3, Sub4, Sub5 >::Type_t 
operator() (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
View6< This_t, Sub1, Sub2,
Sub3, Sub4, Sub5, Sub6 >
::Type_t 
operator() (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6) const
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
View7< This_t, Sub1, Sub2,
Sub3, Sub4, Sub5, Sub6, Sub7 >
::Type_t 
operator() (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3, const Sub4 &s4, const Sub5 &s5, const Sub6 &s6, const Sub7 &s7) const
Component forwarding functions

Component forwarding function.

This is used when Element_t has components, as is the case for vectors, tensors, or arrays. A Forwarding engine is made containing a shallow copy of this array's engine and a Loc<M>, where M is the number of components that are being set. For this to ultimately work, Element_t must have a working const operator()(Loc<M>) that returns a reference or proxy to the component.

ComponentView< Loc
< 1 >, This_t >::Type_t 
comp (int i1) const
ComponentView< Loc
< 2 >, This_t >::Type_t 
comp (int i1, int i2) const
ComponentView< Loc
< 3 >, This_t >::Type_t 
comp (int i1, int i2, int i3) const
ComponentView< Loc
< 4 >, This_t >::Type_t 
comp (int i1, int i2, int i3, int i4) const
ComponentView< Loc
< 5 >, This_t >::Type_t 
comp (int i1, int i2, int i3, int i4, int i5) const
ComponentView< Loc
< 6 >, This_t >::Type_t 
comp (int i1, int i2, int i3, int i4, int i5, int i6) const
ComponentView< Loc
< 7 >, This_t >::Type_t 
comp (int i1, int i2, int i3, int i4, int i5, int i6, int i7) const
template<class Components >
ComponentView< Components,
This_t >::Type_t 
comp (const Components &components) const
Short-circuit functions that return information from domain.
int first (int d) const
int last (int d) const
int length (int d) const
Loc< Dim > firsts () const
Loc< Dim > lasts () const
Loc< Dim > lengths () const
long size () const
Copy assignment operators

Copy assignment operators.

We pack this assignment expression into a PETE binary expression tree node and then use this to construct an array with an expression engine. We then pass this on to an evaluator, which handles the computation. The first two versions handle assigning Arrays to Arrays and the fourth one handles assigning scalars.

This_toperator= (const Array< Dim, T, EngineTag > &rhs)
const This_toperator= (const Array< Dim, T, EngineTag > &rhs) const
template<class T1 >
const This_toperator= (const T1 &rhs) const
Op-assignment operators
template<class T1 >
const This_toperator+= (const T1 &rhs) const
 Addition.
template<class T1 >
const This_toperator-= (const T1 &rhs) const
 Subtraction.
template<class T1 >
const This_toperator*= (const T1 &rhs) const
 Multiplication.
template<class T1 >
const This_toperator/= (const T1 &rhs) const
 Division.
template<class T1 >
const This_toperator%= (const T1 &rhs) const
 Modulus.
template<class T1 >
const This_toperator|= (const T1 &rhs) const
 Bitwise-Or.
template<class T1 >
const This_toperator&= (const T1 &rhs) const
 Bitwise-And.
template<class T1 >
const This_toperator^= (const T1 &rhs) const
 Bitwise-Xor.
template<class T1 >
const This_toperator<<= (const T1 &rhs) const
 Left shift.
template<class T1 >
const This_toperator>>= (const T1 &rhs) const
 Right shift.
Assessor functions that return the engine
Engine_tengine ()
const Engine_tengine () const

Detailed Description

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
class Array< Dim, T, EngineTag >

Arrays are used to apply operations to N-dimensional (N <= 7) logically rectangular, logically dense sets of elements.

Array provides several services:


Member Typedef Documentation

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Array<Dim, T, EngineTag> Array< Dim, T, EngineTag >::This_t

This_t is a convenience typedef referring to this class.

Reimplemented in DynamicArray< T, EngineTag >, DynamicArray< T2, E >, DynamicArray< int, Dynamic >, and DynamicArray< T1, E >.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine<Dim, T, EngineTag> Array< Dim, T, EngineTag >::Engine_t

Engine_t is a typedef that maps the EngineTag to the Engine type.

Reimplemented in DynamicArray< T, EngineTag >, DynamicArray< T2, E >, DynamicArray< int, Dynamic >, and DynamicArray< T1, E >.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef EngineTag Array< Dim, T, EngineTag >::EngineTag_t

Engine Tag_t is this tag type, exported to other classes.

Reimplemented in DynamicArray< T, EngineTag >, DynamicArray< T2, E >, DynamicArray< int, Dynamic >, and DynamicArray< T1, E >.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::Element_t Array< Dim, T, EngineTag >::Element_t

Element_t is the type of elements managed by this array's engine.

Reimplemented in DynamicArray< T, EngineTag >, DynamicArray< T2, E >, DynamicArray< int, Dynamic >, and DynamicArray< T1, E >.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::ElementRef_t Array< Dim, T, EngineTag >::ElementRef_t

ElementRef_t is the type that is used to write to a single element.

Reimplemented in DynamicArray< T, EngineTag >, DynamicArray< T2, E >, DynamicArray< int, Dynamic >, and DynamicArray< T1, E >.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::Domain_t Array< Dim, T, EngineTag >::Domain_t

The typedef Domain_t gives the type of domain this array is defined on.

Reimplemented in DynamicArray< T, EngineTag >, DynamicArray< T2, E >, DynamicArray< int, Dynamic >, and DynamicArray< T1, E >.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::Layout_t Array< Dim, T, EngineTag >::Layout_t

Member Enumeration Documentation

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
anonymous enum

The enum 'rank' gives the rank of this array.

'dimensions' is the same thing.

Enumerator:
dimensions 
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
anonymous enum
Enumerator:
rank 
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
anonymous enum
Enumerator:
hasRelations 

Constructor & Destructor Documentation

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Array< Dim, T, EngineTag >::Array ( ) [inline]

Default constructor for Array. Exists so array can be resized.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Array< Dim, T, EngineTag >::Array ( const Engine_t modelEngine) [inline, explicit]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int Dim2, class T2 , class EngineTag2 , class Initializer >
Array< Dim, T, EngineTag >::Array ( const Engine< Dim2, T2, EngineTag2 > &  engine,
const Initializer &  init 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int D1, class T1 , class E1 , int D2, class T2 , class E2 >
Array< Dim, T, EngineTag >::Array ( const Array< D1, T1, E1 > &  a1,
const Array< D2, T2, E2 > &  a2 
) [inline]

Indirection Array constructors.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Array< Dim, T, EngineTag >::Array ( const This_t model) [inline]

One way for a user to construct an Array is to use another Array as a model.

The non-templated version is the copy constructor. For the templated versions to work, Engine_t must possess a constructor that takes an OtherEngine and, perhaps, an OtherDomain.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int OtherDim, class OtherT , class OtherEngineTag >
Array< Dim, T, EngineTag >::Array ( const Array< OtherDim, OtherT, OtherEngineTag > &  model) [inline, explicit]

This ctor is called, for example, to initialize a brick-view with a compressible brick.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int OtherDim, class OtherT , class OtherEngineTag , class OtherDomain >
Array< Dim, T, EngineTag >::Array ( const Array< OtherDim, OtherT, OtherEngineTag > &  model,
const OtherDomain &  domain 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class OtherT , class OtherEngineTag , class Components >
Array< Dim, T, EngineTag >::Array ( const Array< Dim, OtherT, OtherEngineTag > &  a,
const ComponentWrapper< Components > &  c 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1) [inline, explicit]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const Sub7 &  s7 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
Array< Dim, T, EngineTag >::Array ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const Sub7 &  s7,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Array< Dim, T, EngineTag >::~Array ( ) [inline]

The destructor is trivial since the engine is implicitly destroyed.


Member Function Documentation

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Array< Dim, T, EngineTag >::initialize ( const Engine_t modelEngine) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int Dim2, class T2 , class EngineTag2 , class Initializer >
void Array< Dim, T, EngineTag >::initialize ( const Engine< Dim2, T2, EngineTag2 > &  engine,
const Initializer &  init 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Array< Dim, T, EngineTag >::initialize ( const This_t model) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int OtherDim, class OtherT , class OtherEngineTag >
void Array< Dim, T, EngineTag >::initialize ( const Array< OtherDim, OtherT, OtherEngineTag > &  model) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<int OtherDim, class OtherT , class OtherEngineTag , class OtherDomain >
void Array< Dim, T, EngineTag >::initialize ( const Array< OtherDim, OtherT, OtherEngineTag > &  model,
const OtherDomain &  domain 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const Sub7 &  s7 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
void Array< Dim, T, EngineTag >::initialize ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const Sub7 &  s7,
const ModelElement< Element_t > &  model 
) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Patch<This_t>::Type_t Array< Dim, T, EngineTag >::patchLocal ( int  i) const [inline]

Patch accessor function returns the i'th patch.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Array< Dim, T, EngineTag >::numPatchesLocal ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Domain_t& Array< Dim, T, EngineTag >::domain ( ) const [inline]

Shortcut for totalDomain().

Referenced by LeafFunctor< Array< Dim, T, EngineTag >, DomainFunctorTag >::apply(), LeafFunctor< Array< Dim, T, EngineTag >, ConformTag< Dim > >::apply(), assign(), Array< 1, T >::initialize(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, false >::make(), View1< Stencil< Function >, Array< D, T, E > >::make(), View1< Array< Dim, T, EngineTag >, int >::make(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::make(), View2< Array< Dim, T, EngineTag >, int, int >::make(), View3< Array< Dim, T, EngineTag >, int, int, int >::make(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::make(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::make(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::make(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::makeRead(), View1< Array< Dim, T, EngineTag >, int >::makeRead(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::makeRead(), View2< Array< Dim, T, EngineTag >, int, int >::makeRead(), View3< Array< Dim, T, EngineTag >, int, int, int >::makeRead(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::makeRead(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::makeRead(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::makeRead(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::makeRead(), and Resize< Array< 1, T, SharedBrick > >::resize().

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Array< Dim, T, EngineTag >::physicalDomain ( ) const [inline]

Returns the physical domain, i.e. the domain without external guards.

Referenced by Pooma::PoomaDA< Dim >::PoomaDA().

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Domain_t& Array< Dim, T, EngineTag >::totalDomain ( ) const [inline]

Returns the total domain, i.e. the domain with external guards.

Referenced by CombineDomainOpt< NewDomain, false >::make().

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Engine_t::Layout_t Array< Dim, T, EngineTag >::layout ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
View0<This_t>::ReadType_t Array< Dim, T, EngineTag >::read ( ) const [inline]

View-creation operations.

These operator() functions take one or more sub-domains, which combine to form a domain with dimensionality identical to the rank of the array. Views based on up to 7 subdomains are supported. Indirection views will end up calling these functions.

A zero-argument version of operator(), which takes a view of array's domain, is also supplied.

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
View1<This_t, Sub1>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
View2<This_t, Sub1, Sub2>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
View3<This_t, Sub1, Sub2, Sub3>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
View4<This_t, Sub1, Sub2, Sub3, Sub4>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
View5<This_t, Sub1, Sub2, Sub3, Sub4, Sub5>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
View6<This_t, Sub1, Sub2, Sub3, Sub4, Sub5, Sub6>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
View7<This_t, Sub1, Sub2, Sub3, Sub4, Sub5, Sub6, Sub7>::ReadType_t Array< Dim, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const Sub7 &  s7 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
View0<This_t>::Type_t Array< Dim, T, EngineTag >::operator() ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
View1<This_t,Sub1>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
View2<This_t, Sub1, Sub2>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
View3<This_t, Sub1, Sub2, Sub3>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 >
View4<This_t, Sub1, Sub2, Sub3, Sub4>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 >
View5<This_t, Sub1, Sub2, Sub3, Sub4, Sub5>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 >
View6<This_t, Sub1, Sub2, Sub3, Sub4, Sub5, Sub6>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 , class Sub4 , class Sub5 , class Sub6 , class Sub7 >
View7<This_t, Sub1, Sub2, Sub3, Sub4, Sub5, Sub6, Sub7>::Type_t Array< Dim, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3,
const Sub4 &  s4,
const Sub5 &  s5,
const Sub6 &  s6,
const Sub7 &  s7 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<1>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1) const [inline]

Referenced by iotaIndex().

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<2>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1,
int  i2 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<3>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1,
int  i2,
int  i3 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<4>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1,
int  i2,
int  i3,
int  i4 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<5>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1,
int  i2,
int  i3,
int  i4,
int  i5 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<6>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<7>, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7 
) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Components >
ComponentView<Components, This_t>::Type_t Array< Dim, T, EngineTag >::comp ( const Components &  components) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Array< Dim, T, EngineTag >::makeOwnCopy ( ) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Array< Dim, T, EngineTag >::first ( int  d) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Array< Dim, T, EngineTag >::last ( int  d) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Array< Dim, T, EngineTag >::length ( int  d) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Loc<Dim> Array< Dim, T, EngineTag >::firsts ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Loc<Dim> Array< Dim, T, EngineTag >::lasts ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Loc<Dim> Array< Dim, T, EngineTag >::lengths ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
long Array< Dim, T, EngineTag >::size ( ) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
This_t& Array< Dim, T, EngineTag >::operator= ( const Array< Dim, T, EngineTag > &  rhs) [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const This_t& Array< Dim, T, EngineTag >::operator= ( const Array< Dim, T, EngineTag > &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator+= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator-= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator*= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator/= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator%= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator|= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator&= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator^= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator<<= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Array< Dim, T, EngineTag >::operator>>= ( const T1 &  rhs) const [inline]
template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Engine_t& Array< Dim, T, EngineTag >::engine ( ) [inline]

Referenced by LeafFunctor< Array< Dim, T, EngineTag >, EvalLeaf< Dim > >::apply(), LeafFunctor< Array< Dim, T, E >, EngineView< Tag > >::apply(), LeafFunctor< Array< Dim, T, E >, ExpressionApply< Tag > >::apply(), LeafFunctor< Array< Dim, T, E >, EngineFunctorTag< Tag > >::apply(), EngineFunctor< Array< Dim, T, E >, Tag >::apply(), assign(), Pooma::PoomaDA< Dim >::assign(), compress(), compressed(), elementsCompressed(), Engine< D, T, StencilEngine< Function, Expression > >::initExpressionFromModel(), Array< 1, T >::initialize(), CreateLeaf< Array< Dim, T, ExpressionTag< Expr > > >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, false >::make(), View0< Array< Dim, T, EngineTag > >::make(), View1< Array< Dim, T, EngineTag >, int >::make(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::make(), View2< Array< Dim, T, EngineTag >, int, int >::make(), View3< Array< Dim, T, EngineTag >, int, int, int >::make(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::make(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::make(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::make(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::make(), Patch< Array< Dim, T, EngineTag > >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::makeRead(), View1< Array< Dim, T, EngineTag >, int >::makeRead(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::makeRead(), View2< Array< Dim, T, EngineTag >, int, int >::makeRead(), View3< Array< Dim, T, EngineTag >, int, int, int >::makeRead(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::makeRead(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::makeRead(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::makeRead(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::makeRead(), ParticleKernel< Array, Function >::ParticleKernel(), ParticleKernelBlock< Array, Function >::ParticleKernelBlock(), Resize< Array< 1, T, SharedBrick > >::resize(), uncompress(), FileSetWriter< Dim >::write(), ParticleKernel< Array, Function >::~ParticleKernel(), and ParticleKernelBlock< Array, Function >::~ParticleKernelBlock().

template<int Dim, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Engine_t& Array< Dim, T, EngineTag >::engine ( ) const [inline]

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