Engine< Dim, T, IndirectionTag< A1, A2 > > Class Template Reference

The indirection engine combines two arrays to represent ind = a1(a2), where ind(i,j) = a1(a2(i,j)). More...

#include <IndirectionEngine.h>

List of all members.

Public Types

enum  { dimensions = Dim }
enum  { hasDataObject }
enum  { multiPatch }
enum  { dynamic = false }
enum  { zeroBased = Engine2_t::zeroBased }
typedef IndirectionTag< A1, A2 > Tag_t
typedef Engine< Dim, T, Tag_tEngine_t
typedef A1::Element_t Element_t
typedef A1::ElementRef_t ElementRef_t
typedef A2::Domain_t Domain_t
typedef DomainLayout< Dim > Layout_t
typedef A1::Engine_t Engine1_t
typedef A2::Engine_t Engine2_t

Public Member Functions

 Engine (const A1 &array1, const A2 &array2)
 Engine (const Engine_t &engine)
template<int OtherDim, class OtherA2 , class Domain >
 Engine (const Engine< OtherDim, T, IndirectionTag< A1, OtherA2 > > &e, const Domain &d)
const A1 & array1 () const
A1 & array1 ()
const A2 & array2 () const
A2 & array2 ()
Element_t read (int i0) const
Element_t read (int i0, int i1) const
Element_t read (int i0, int i1, int i2) const
Element_t read (int i0, int i1, int i2, int i3) const
Element_t read (int i0, int i1, int i2, int i3, int i4) const
Element_t read (int i0, int i1, int i2, int i3, int i4, int i5) const
Element_t read (int i0, int i1, int i2, int i3, int i4, int i5, int i6) const
template<class Domain >
Element_t read (const Domain &loc) const
ElementRef_t operator() (int i0) const
ElementRef_t operator() (int i0, int i1) const
ElementRef_t operator() (int i0, int i1, int i2) const
ElementRef_t operator() (int i0, int i1, int i2, int i3) const
ElementRef_t operator() (int i0, int i1, int i2, int i3, int i4) const
ElementRef_t operator() (int i0, int i1, int i2, int i3, int i4, int i5) const
ElementRef_t operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6) const
template<class Domain >
ElementRef_t operator() (const Domain &loc) const
const Domain_tdomain () const
int first (int i) const


Detailed Description

template<int Dim, class T, class A1, class A2>
class Engine< Dim, T, IndirectionTag< A1, A2 > >

The indirection engine combines two arrays to represent ind = a1(a2), where ind(i,j) = a1(a2(i,j)).

Member Typedef Documentation

template<int Dim, class T , class A1 , class A2 >
typedef IndirectionTag<A1,A2> Engine< Dim, T, IndirectionTag< A1, A2 > >::Tag_t

template<int Dim, class T , class A1 , class A2 >
typedef Engine<Dim,T,Tag_t> Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine_t

template<int Dim, class T , class A1 , class A2 >
typedef A1::Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Element_t

template<int Dim, class T , class A1 , class A2 >
typedef A1::ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::ElementRef_t

template<int Dim, class T , class A1 , class A2 >
typedef A2::Domain_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Domain_t

template<int Dim, class T , class A1 , class A2 >
typedef DomainLayout<Dim> Engine< Dim, T, IndirectionTag< A1, A2 > >::Layout_t

template<int Dim, class T , class A1 , class A2 >
typedef A1::Engine_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine1_t

template<int Dim, class T , class A1 , class A2 >
typedef A2::Engine_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine2_t


Member Enumeration Documentation

template<int Dim, class T , class A1 , class A2 >
anonymous enum

Enumerator:
dimensions 

template<int Dim, class T , class A1 , class A2 >
anonymous enum

Enumerator:
hasDataObject 

template<int Dim, class T , class A1 , class A2 >
anonymous enum

Enumerator:
multiPatch 

template<int Dim, class T , class A1 , class A2 >
anonymous enum

Enumerator:
dynamic 

template<int Dim, class T , class A1 , class A2 >
anonymous enum

Enumerator:
zeroBased 


Constructor & Destructor Documentation

template<int Dim, class T , class A1 , class A2 >
Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine ( const A1 &  array1,
const A2 &  array2 
) [inline]

References CTAssert.

template<int Dim, class T , class A1 , class A2 >
Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine ( const Engine_t engine  )  [inline]

template<int Dim, class T , class A1 , class A2 >
template<int OtherDim, class OtherA2 , class Domain >
Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine ( const Engine< OtherDim, T, IndirectionTag< A1, OtherA2 > > &  e,
const Domain d 
) [inline]

References CTAssert.


Member Function Documentation

template<int Dim, class T , class A1 , class A2 >
const A1& Engine< Dim, T, IndirectionTag< A1, A2 > >::array1 (  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
A1& Engine< Dim, T, IndirectionTag< A1, A2 > >::array1 (  )  [inline]

template<int Dim, class T , class A1 , class A2 >
const A2& Engine< Dim, T, IndirectionTag< A1, A2 > >::array2 (  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
A2& Engine< Dim, T, IndirectionTag< A1, A2 > >::array2 (  )  [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0,
int  i1 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0,
int  i1,
int  i2 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0,
int  i1,
int  i2,
int  i3 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
template<class Domain >
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read ( const Domain loc  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0,
int  i1 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0,
int  i1,
int  i2 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0,
int  i1,
int  i2,
int  i3 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6 
) const [inline]

template<int Dim, class T , class A1 , class A2 >
template<class Domain >
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() ( const Domain loc  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
const Domain_t& Engine< Dim, T, IndirectionTag< A1, A2 > >::domain (  )  const [inline]

template<int Dim, class T , class A1 , class A2 >
int Engine< Dim, T, IndirectionTag< A1, A2 > >::first ( int  i  )  const [inline]


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

Generated on Wed Mar 16 06:20:09 2011 for FreePOOMA by  doxygen 1.5.9