FreePOOMA  2.4.1
Classes
DomainTraits.Interval.h File Reference

DomainTraits<Interval<N>> is a specialization of the general DomainTraits class, for the case of Interval domain objects. More...

#include "Domain/DomainTraits.h"
#include "Utilities/PAssert.h"
Include dependency graph for DomainTraits.Interval.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  DomainTraits< Interval< Dim > >
 DomainTraits<Interval<Dim>>: The specialization of DomainTraits for Interval, for dimensions greater than one. More...
struct  DomainTraits< Interval< 1 > >
 DomainTraits<Interval<1>>: The specialization of DomainTraits for Interval, for dimension == 1. More...
struct  DomainChangeDim< Interval< Dim1 >, Dim2 >
 DomainChangeDim<T, int> is used to convert from a domain of one dimension to another dimension (the second template parameter). More...

Detailed Description

DomainTraits<Interval<N>> is a specialization of the general DomainTraits class, for the case of Interval domain objects.

It defines the general behavior of Interval, including its typedef and static data characteristics, how to store data for a Interval, etc. It is used by the Domain base class of Interval to implement most of the public interface.

DomainTraits<Interval<Dim>> stores the characteristics and much of the implementation details for Interval domain objects. An Interval represents a sequence of numbers [a, a+1, ... b], with a hard-coded stride of +1. Thus, it is unit-strided, but not necessarily single-valued.

A general version of DomainTraits<Interval<Dim>> is defined here, which only includes the basic information to make Interval<Dim> look like an array of Interval<1> objects. DomainTraits<Interval<1>> is a more specific specialization which provides most of the necessary interface information for items which need to know about Interval. Since most of the interface for a domain object is only available for 1D versions of that domain object, the Interval<1> specialization defines more interface functions than the Interval<Dim> case.