FreePOOMA
2.4.1
|
DomainTraits<Range<N>> is a specialization of the general DomainTraits class, for the case of Range domain objects. More...
#include "Domain/DomainTraits.h"
Classes | |
struct | DomainTraits< Range< Dim > > |
DomainTraits<Range<Dim>>: The specialization of DomainTraits for Range, for dimensions greater than one. More... | |
struct | DomainTraits< Range< 1 > > |
DomainTraits<Range<1>>: The specialization of DomainTraits for Range, for dimension == 1. More... | |
struct | DomainChangeDim< Range< Dim1 >, Dim2 > |
DomainChangeDim<T, int> is used to convert from a domain of one dimension to another dimension (the second template parameter). More... |
DomainTraits<Range<N>> is a specialization of the general DomainTraits class, for the case of Range domain objects.
It defines the general behavior of Range, including its typedef and static data characteristics, how to store data for a Range, etc. It is used by the Domain base class of Range to implement most of the public interface.
DomainTraits<Range<Dim>> stores the characteristics and much of the implementation details for Range domain objects. A Range represents a sequence of numbers [a, a+s, a+2s, ... b], with a run-time stride s.
A general version of DomainTraits<Range<Dim>> is defined here, which only includes the basic information to make Range<Dim> look like an array of Range<1> objects. DomainTraits<Range<1>> is a more specific specialization which provides most of the necessary interface information for items which need to know about Range. Since most of the interface for a domain object is only available for 1D versions of that domain object, the Range<1> specialization defines more interface functions than the Range<Dim> case.