#include "Domain/DomainTraits.h"
Classes | |
struct | DomainTraits< Loc< Dim > > |
DomainTraits<Loc<Dim>>: The specialization of DomainTraits for Loc, for dimensions greater than one. More... | |
struct | DomainTraits< Loc< 1 > > |
DomainTraits<Loc<1>>: The specialization of DomainTraits for Loc, for dimension == 1. More... | |
struct | DomainChangeDim< Loc< Dim1 >, 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 Loc, including its typedef and static data characteristics, how to store data for a Loc, etc. It is used by the Domain base class of Loc to implement most of the public interface.
DomainTraits<Loc<Dim>> stores the characteristics and much of the implementation details for Loc domain objects. A Loc acts like a single integer point in N-dimensional space, so it is a single-valued, unit-stride domain.
A general version of DomainTraits<Loc<Dim>> is defined here, which only includes the basic information to make Loc<Dim> look like an array of Loc<1> objects. DomainTraits<Loc<1>> is a more specific specialization which provides most of the necessary interface information for items which need to know about Loc. Since most of the interface for a domain object is only available for 1D versions of that domain object, the Loc<1> specialization defines more interface functions than the Loc<Dim> case.