#include "Domain/DomainTraits.h"
Classes | |
struct | DomainTraits< Region< Dim, T > > |
DomainTraits<Region<Dim,T>>: The traits for an N-dimensional Region domain. More... | |
struct | DomainTraits< Region< 1, T > > |
DomainTraits<Region<Dim,T>>: The traits for an 1-dimensional Region domain. More... | |
struct | DomainChangeDim< Region< Dim1, T >, Dim2 > |
DomainChangeDim<T, int> is used to convert from a domain of one dimension to another dimension (the second template parameter). More... |
It defines the general behavior of Region, including its typedef and static data characteristics, how to store data for a Region, etc. It is used by the Domain base class of Region to implement most of the public interface.
DomainTraits<Region<Dim,T>> stores the characteristics and much of the implementation details for Region domain objects. A Region represents a continuous region of values in an N-dimensional space, by storing the endpoints in each dimension which define an N-dimensional rectangle. There is no stride associated with a Region; when asked, it reports a stride equal to the width of the 1D area.
A general version of DomainTraitsRegion<Dim,T> is defined which only includes the basic information to make Region<Dim> look like an array of Region<1> objects. DomainTraitsRegion<1,T> is a more specific specialization which provides most of the necessary interface information for items which need to know about Region. Since most of the interface for a domain object is only available for 1D versions of that domain object, the Region<1,T> specialization defines more interface functions than the Region<Dim,T> case.