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.)