FreePOOMA  2.4.1
Public Types | Public Member Functions
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: