Public Types |
enum | { dimensions = Dim
} |
typedef RightDomain< Dim > | Domain_t |
typedef RightDomain< 1 > | OneDomain_t |
typedef int | Element_t |
Public Member Functions |
| RightDomain () |
| RightDomain (const RightDomain< Dim > &d) |
template<class T1 > |
| RightDomain (const T1 &a) |
template<class T1 , class T2 > |
| RightDomain (const T1 &a, const T2 &b) |
template<class T1 , class T2 , class T3 > |
| RightDomain (const T1 &a, const T2 &b, const T3 &c) |
template<class T1 , class T2 , class T3 , class T4 > |
| RightDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d) |
template<class T1 , class T2 , class T3 , class T4 , class T5 > |
| RightDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d, const T5 &e) |
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > |
| RightDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d, const T5 &e, const T6 &f) |
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > |
| RightDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d, const T5 &e, const T6 &f, const T7 &g) |
| ~RightDomain () |
OneDomain_t | operator[] (int n) const |
void | setDomain (const RightDomain< Dim > &d) |
template<class T > |
DomainTraits< T >::Element_t | first (const T &u) const |
int | first (int u) const |
template<class T > |
DomainTraits< T >::Element_t | length (const T &u) const |
int | length (int u) const |
template<class T > |
DomainTraits< T >::Element_t | stride (const T &u) const |
int | stride (int) const |
RightDomain< Dim > & | operator= (const RightDomain< Dim > &d) |
template<int Dim>
class RightDomain< Dim >
RightDomain is a special domain class which is used as a 'wildcard'.
Wildcards are useful when constructing new domains based on some other 'reference' domain, which is done when doing things like making a new view of an Array. Wildcard domains use the reference domain to determine what the 'final' domain should be. RightDomain refers to 'use the right endpoint of the reference domain, with newly provided left endpoint, as the new domain values'.
RightDomain can be used as one of the arguments to the 'combineSlice' or 'fillSlice' routines in the NewDomain combiners, in which case the user- supplied reference domain is used with the 'setWildcardDomain' method of the domain being filled to get the final domain settings.
Wildcard domains in general can also be used in the constructors for regular domain objects. If they are given, they indicate that those dimensions should not be initialized, which can be helpful to avoid extra unneeded work when the domain will be filled with new values very soon.