DomainTraits< SliceRange< TotalDim, SliceDim > > Struct Template Reference

DomainTraits<SliceRange<Dim,SliceDim>> stores the characteristics and much of the implementation details for SliceRange domain objects. More...

#include <DomainTraits.SliceRange.h>

List of all members.

Public Types

enum  { domain = true }
enum  { dimensions = TotalDim, sliceDimensions = SliceDim }
enum  { unitStride = false }
enum  { singleValued = false }
enum  { wildcard = false }
typedef SliceRange< TotalDim,
SliceDim > 
Domain_t
typedef SliceRange< TotalDim,
SliceDim > 
NewDomain1_t
typedef Range< SliceDim > SliceDomain_t
typedef Range< TotalDim > TotalDomain_t
typedef Range< 1 > OneDomain_t
typedef Range< 1 > PointDomain_t

Static Public Member Functions

static OneDomain_tgetDomain (Domain_t &d, int n)
static const OneDomain_tgetDomain (const Domain_t &d, int n)
static OneDomain_tgetSliceDomain (Domain_t &d, int n)
static const OneDomain_tgetSliceDomain (const Domain_t &d, int n)
static PointDomain_tgetPointDomain (Domain_t &d, int n)
static const PointDomain_tgetPointDomain (const Domain_t &d, int n)
static void cantIgnoreDomain (Domain_t &d, int n)
static bool getIgnorable (const Domain_t &d, int n)
static void setIgnorable (Domain_t &d, int n, bool i)


Detailed Description

template<int TotalDim, int SliceDim>
struct DomainTraits< SliceRange< TotalDim, SliceDim > >

DomainTraits<SliceRange<Dim,SliceDim>> stores the characteristics and much of the implementation details for SliceRange domain objects.

A SliceRange represents a set of two domain objects, one a "total" domain, and the other a "slice" domain which is a subset of the total. SliceRange stores these two domains as Range<> objects.

The DomainTraits for slice domains is quite a bit simpler than the DomainTraits for regular domains. This is because SliceDomains have a much simpler interface than regular domains, and are not intended for direct user manipulation. The DomainTraits for SliceDomain subclasses like SliceRange includes the following interface:

static const int dimensions = # of total dimensions static const int sliceDimensions = # of slice dimensions

typedef SliceRange<TotalDim,SliceDim> Domain_t; typedef Range<SliceDim> SliceDomain_t; typedef Range<TotalDim> TotalDomain_t; typedef Range<1> OneDomain_t;

static OneDomain_t &getDomain(Domain_t &d, int n); static OneDomain_t &getSliceDomain(Domain_t &d, int n);


Member Typedef Documentation

template<int TotalDim, int SliceDim>
typedef SliceRange<TotalDim,SliceDim> DomainTraits< SliceRange< TotalDim, SliceDim > >::Domain_t

template<int TotalDim, int SliceDim>
typedef SliceRange<TotalDim,SliceDim> DomainTraits< SliceRange< TotalDim, SliceDim > >::NewDomain1_t

template<int TotalDim, int SliceDim>
typedef Range<SliceDim> DomainTraits< SliceRange< TotalDim, SliceDim > >::SliceDomain_t

template<int TotalDim, int SliceDim>
typedef Range<TotalDim> DomainTraits< SliceRange< TotalDim, SliceDim > >::TotalDomain_t

template<int TotalDim, int SliceDim>
typedef Range<1> DomainTraits< SliceRange< TotalDim, SliceDim > >::OneDomain_t

template<int TotalDim, int SliceDim>
typedef Range<1> DomainTraits< SliceRange< TotalDim, SliceDim > >::PointDomain_t


Member Enumeration Documentation

template<int TotalDim, int SliceDim>
anonymous enum

Enumerator:
domain 

template<int TotalDim, int SliceDim>
anonymous enum

Enumerator:
dimensions 
sliceDimensions 

template<int TotalDim, int SliceDim>
anonymous enum

Enumerator:
unitStride 

template<int TotalDim, int SliceDim>
anonymous enum

Enumerator:
singleValued 

template<int TotalDim, int SliceDim>
anonymous enum

Enumerator:
wildcard 


Member Function Documentation

template<int TotalDim, int SliceDim>
static OneDomain_t& DomainTraits< SliceRange< TotalDim, SliceDim > >::getDomain ( Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static const OneDomain_t& DomainTraits< SliceRange< TotalDim, SliceDim > >::getDomain ( const Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static OneDomain_t& DomainTraits< SliceRange< TotalDim, SliceDim > >::getSliceDomain ( Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static const OneDomain_t& DomainTraits< SliceRange< TotalDim, SliceDim > >::getSliceDomain ( const Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static PointDomain_t& DomainTraits< SliceRange< TotalDim, SliceDim > >::getPointDomain ( Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static const PointDomain_t& DomainTraits< SliceRange< TotalDim, SliceDim > >::getPointDomain ( const Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static void DomainTraits< SliceRange< TotalDim, SliceDim > >::cantIgnoreDomain ( Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static bool DomainTraits< SliceRange< TotalDim, SliceDim > >::getIgnorable ( const Domain_t d,
int  n 
) [inline, static]

template<int TotalDim, int SliceDim>
static void DomainTraits< SliceRange< TotalDim, SliceDim > >::setIgnorable ( Domain_t d,
int  n,
bool  i 
) [inline, static]


The documentation for this struct was generated from the following file:

Generated on Wed Mar 16 06:19:54 2011 for FreePOOMA by  doxygen 1.5.9