FreePOOMA  2.4.1
Public Types | Public Member Functions
AllDomain< Dim > Class Template Reference

AllDomain is a special domain class which is used as a 'wildcard'. More...

#include <AllDomain.h>

List of all members.

Public Types

enum  { dimensions = Dim }
typedef AllDomain< Dim > Domain_t
typedef AllDomain< Dim > NewDomain1_t
typedef AllDomain< 1 > OneDomain_t
typedef int Element_t

Public Member Functions

 AllDomain ()
 AllDomain (const AllDomain< Dim > &)
 ~AllDomain ()
OneDomain_t operator[] (int) const
void setDomain (const AllDomain< Dim > &)
template<class T >
DomainTraits< T >::Element_t first (const T &u) const
int first (int u) const
template<class T >
DomainTraits< T >::Element_t length (const T &u) const
int length (int) const
template<class T >
DomainTraits< T >::Element_t stride (const T &u) const
int stride (int) const
AllDomain< Dim > & operator= (const AllDomain< Dim > &)

Detailed Description

template<int Dim>
class AllDomain< Dim >

AllDomain is a special domain class which is used as a 'wildcard'.

Wildcards are useful when constructing new domains based on some other 'reference' domain, which is done when doing things like making a new view of an Array. Wildcard domains use the reference domain to determine what the 'final' domain should be. AllDomain refers to 'use the same exact domain values as the reference domain'.

AllDomain can be used as one of the arguments to the 'combineSlice' or 'fillSlice' routines in the NewDomain combiners, in which case the user- supplied reference domain is used with the 'setWildcardDomain' method of the domain being filled to get the final domain settings.

Wildcard domains in general can also be used in the constructors for regular domain objects. If they are given, they indicate that those dimensions should not be initialized, which can be helpful to avoid extra unneeded work when the domain will be filled with new values very soon.


Member Typedef Documentation

template<int Dim>
typedef AllDomain<Dim> AllDomain< Dim >::Domain_t
template<int Dim>
typedef AllDomain<Dim> AllDomain< Dim >::NewDomain1_t
template<int Dim>
typedef AllDomain<1> AllDomain< Dim >::OneDomain_t
template<int Dim>
typedef int AllDomain< Dim >::Element_t

Member Enumeration Documentation

template<int Dim>
anonymous enum
Enumerator:
dimensions 

Constructor & Destructor Documentation

template<int Dim>
AllDomain< Dim >::AllDomain ( ) [inline]

References CTAssert.

template<int Dim>
AllDomain< Dim >::AllDomain ( const AllDomain< Dim > &  ) [inline]

References CTAssert.

template<int Dim>
AllDomain< Dim >::~AllDomain ( ) [inline]

Member Function Documentation

template<int Dim>
OneDomain_t AllDomain< Dim >::operator[] ( int  ) const [inline]
template<int Dim>
void AllDomain< Dim >::setDomain ( const AllDomain< Dim > &  ) [inline]
template<int Dim>
template<class T >
DomainTraits<T>::Element_t AllDomain< Dim >::first ( const T &  u) const [inline]
template<int Dim>
int AllDomain< Dim >::first ( int  u) const [inline]
template<int Dim>
template<class T >
DomainTraits<T>::Element_t AllDomain< Dim >::length ( const T &  u) const [inline]
template<int Dim>
int AllDomain< Dim >::length ( int  ) const [inline]
template<int Dim>
template<class T >
DomainTraits<T>::Element_t AllDomain< Dim >::stride ( const T &  u) const [inline]
template<int Dim>
int AllDomain< Dim >::stride ( int  ) const [inline]
template<int Dim>
AllDomain<Dim>& AllDomain< Dim >::operator= ( const AllDomain< Dim > &  ) [inline]

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