This is an extra-special version of View indexer that optimizes indexing for the case where we have not taken a slice.
More...
Public Types |
typedef ViewIndexer< Dim, Dim > | This_t |
typedef Interval< Dim > | Domain_t |
typedef Range< Dim > | BaseDomain_t |
typedef Loc< Dim > | Mask_t |
Public Member Functions |
| ViewIndexer () |
template<class DT > |
| ViewIndexer (const Domain< Dim, DT > &dom) |
template<class DT > |
| ViewIndexer (const ViewIndexer< Dim, Dim > &orig, const Domain< Dim, DT > &dom) |
| ViewIndexer (const This_t &model) |
This_t & | operator= (const This_t &rhs) |
const Domain_t & | domain () const |
const BaseDomain_t & | baseDomain () const |
int | indirection (int i) const |
const Mask_t & | mask () const |
int | offset (int i) const |
int | stride (int i) const |
void | translate (const Loc< Dim > &loc, Loc< Dim > &oloc) const |
void | translate (int i0, Loc< Dim > &loc) const |
void | translate (int i0, int i1, Loc< Dim > &loc) const |
void | translate (int i0, int i1, int i2, Loc< Dim > &loc) const |
void | translate (int i0, int i1, int i2, int i3, Loc< Dim > &loc) const |
void | translate (int i0, int i1, int i2, int i3, int i4, Loc< Dim > &loc) const |
void | translate (int i0, int i1, int i2, int i3, int i4, int i5, Loc< Dim > &loc) const |
void | translate (int i0, int i1, int i2, int i3, int i4, int i5, int i6, Loc< Dim > &loc) const |
template<class DT > |
BaseDomain_t & | localToBase (const Domain< Dim, DT > &dlocal, BaseDomain_t &base) const |
template<class DT > |
SliceRange< Dim, Dim > & | localToBase (const Domain< Dim, DT > &dlocal, SliceRange< Dim, Dim > &base) const |
Interval< Dim > & | baseToLocal (const BaseDomain_t &base, Interval< Dim > &local) const |
Range< Dim > & | baseToLocal (const BaseDomain_t &base, Range< Dim > &local) const |
Interval< Dim > & | baseToLocalInterval (const Interval< Dim > &base, Interval< Dim > &local) const |
template<int Dim>
class ViewIndexer< Dim, Dim >
This is an extra-special version of View indexer that optimizes indexing for the case where we have not taken a slice.
Exported typedefs:
- BaseDomain_t - the type of base domain for this ViewIndexer.
- Domain_t - the type of domain for this ViewIndexer.
- Mask_t - the type of mask for this ViewIndexer.
- This_t - this class.
Constructors:
Operators:
Accessors:
- baseDomain() - returns the base domain.
- domain() - returns the domain.
- indirection(int i ) - returns the ith indirection index.
- mask() - returns the mask.
- offset(int i ) - returns the ith offset.
- stride(int i ) - returns the ith stride.
- translate(int i0[, ... int i6], Loc<Dim>) - translates 1-7 indices to a Loc in the base coordinate system.
Utility functions:
- localToBase - transforms a domain in the local coordinate system to the corresponding domain in base coordinates.
- baseToLocal - transforms a domain in the base coordinate system to the corresponding domain in local coordinates.
- baseToLocalInterval - transforms an interval in the base coordinate system to an interval in the local coordinates while ingnoring the fact that the stride doesn't work. (The endpoints are transformed.)