FreePOOMA
2.4.1
|
The indirection engine combines two arrays to represent ind = a1(a2), where ind(i,j) = a1(a2(i,j)). More...
#include <IndirectionEngine.h>
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_t > | Engine_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_t & | domain () const |
int | first (int i) const |
The indirection engine combines two arrays to represent ind = a1(a2), where ind(i,j) = a1(a2(i,j)).
typedef IndirectionTag<A1,A2> Engine< Dim, T, IndirectionTag< A1, A2 > >::Tag_t |
typedef Engine<Dim,T,Tag_t> Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine_t |
typedef A1::Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Element_t |
typedef A1::ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::ElementRef_t |
typedef A2::Domain_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Domain_t |
typedef DomainLayout<Dim> Engine< Dim, T, IndirectionTag< A1, A2 > >::Layout_t |
typedef A1::Engine_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine1_t |
typedef A2::Engine_t Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine2_t |
Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine | ( | const A1 & | array1, |
const A2 & | array2 | ||
) | [inline] |
References CTAssert.
Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine | ( | const Engine_t & | engine | ) | [inline] |
Engine< Dim, T, IndirectionTag< A1, A2 > >::Engine | ( | const Engine< OtherDim, T, IndirectionTag< A1, OtherA2 > > & | e, |
const Domain & | d | ||
) | [inline] |
References CTAssert.
const A1& Engine< Dim, T, IndirectionTag< A1, A2 > >::array1 | ( | ) | const [inline] |
A1& Engine< Dim, T, IndirectionTag< A1, A2 > >::array1 | ( | ) | [inline] |
const A2& Engine< Dim, T, IndirectionTag< A1, A2 > >::array2 | ( | ) | const [inline] |
A2& Engine< Dim, T, IndirectionTag< A1, A2 > >::array2 | ( | ) | [inline] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | int | i0 | ) | const [inline] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | int | i0, |
int | i1 | ||
) | const [inline] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | int | i0, |
int | i1, | ||
int | i2 | ||
) | const [inline] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | int | i0, |
int | i1, | ||
int | i2, | ||
int | i3 | ||
) | const [inline] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | int | i0, |
int | i1, | ||
int | i2, | ||
int | i3, | ||
int | i4 | ||
) | const [inline] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | int | i0, |
int | i1, | ||
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5 | ||
) | const [inline] |
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] |
Element_t Engine< Dim, T, IndirectionTag< A1, A2 > >::read | ( | const Domain & | loc | ) | const [inline] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | int | i0 | ) | const [inline] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | int | i0, |
int | i1 | ||
) | const [inline] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | int | i0, |
int | i1, | ||
int | i2 | ||
) | const [inline] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | int | i0, |
int | i1, | ||
int | i2, | ||
int | i3 | ||
) | const [inline] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | int | i0, |
int | i1, | ||
int | i2, | ||
int | i3, | ||
int | i4 | ||
) | const [inline] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | int | i0, |
int | i1, | ||
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5 | ||
) | const [inline] |
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] |
ElementRef_t Engine< Dim, T, IndirectionTag< A1, A2 > >::operator() | ( | const Domain & | loc | ) | const [inline] |
const Domain_t& Engine< Dim, T, IndirectionTag< A1, A2 > >::domain | ( | ) | const [inline] |
int Engine< Dim, T, IndirectionTag< A1, A2 > >::first | ( | int | i | ) | const [inline] |