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

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

#include <LeftDomain.h>

List of all members.

Public Types

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

Public Member Functions

 LeftDomain ()
 LeftDomain (const LeftDomain< Dim > &d)
template<class T1 >
 LeftDomain (const T1 &a)
template<class T1 , class T2 >
 LeftDomain (const T1 &a, const T2 &b)
template<class T1 , class T2 , class T3 >
 LeftDomain (const T1 &a, const T2 &b, const T3 &c)
template<class T1 , class T2 , class T3 , class T4 >
 LeftDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d)
template<class T1 , class T2 , class T3 , class T4 , class T5 >
 LeftDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d, const T5 &e)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 LeftDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d, const T5 &e, const T6 &f)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 LeftDomain (const T1 &a, const T2 &b, const T3 &c, const T4 &d, const T5 &e, const T6 &f, const T7 &g)
 ~LeftDomain ()
OneDomain_t operator[] (int n) const
void setDomain (const LeftDomain< Dim > &d)
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 u) const
template<class T >
DomainTraits< T >::Element_t stride (const T &u) const
int stride (int) const
LeftDomain< Dim > & operator= (const LeftDomain< Dim > &d)

Detailed Description

template<int Dim>
class LeftDomain< Dim >

LeftDomain 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. LeftDomain refers to 'use the left endpoint of the reference domain, with newly provided right endpoint, as the new domain values'.

LeftDomain 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 LeftDomain<Dim> LeftDomain< Dim >::Domain_t
template<int Dim>
typedef LeftDomain<1> LeftDomain< Dim >::OneDomain_t
template<int Dim>
typedef int LeftDomain< Dim >::Element_t

Member Enumeration Documentation

template<int Dim>
anonymous enum
Enumerator:
dimensions 

Constructor & Destructor Documentation

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

References CTAssert.

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

References CTAssert.

template<int Dim>
template<class T1 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a) [inline, explicit]

References CTAssert.

template<int Dim>
template<class T1 , class T2 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a,
const T2 &  b 
) [inline]

References CTAssert.

template<int Dim>
template<class T1 , class T2 , class T3 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a,
const T2 &  b,
const T3 &  c 
) [inline]

References CTAssert.

template<int Dim>
template<class T1 , class T2 , class T3 , class T4 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a,
const T2 &  b,
const T3 &  c,
const T4 &  d 
) [inline]

References CTAssert.

template<int Dim>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a,
const T2 &  b,
const T3 &  c,
const T4 &  d,
const T5 &  e 
) [inline]

References CTAssert.

template<int Dim>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a,
const T2 &  b,
const T3 &  c,
const T4 &  d,
const T5 &  e,
const T6 &  f 
) [inline]

References CTAssert.

template<int Dim>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
LeftDomain< Dim >::LeftDomain ( const T1 &  a,
const T2 &  b,
const T3 &  c,
const T4 &  d,
const T5 &  e,
const T6 &  f,
const T7 &  g 
) [inline]

References CTAssert.

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

Member Function Documentation

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

References CTAssert.

template<int Dim>
int LeftDomain< Dim >::length ( int  u) const [inline]
template<int Dim>
template<class T >
DomainTraits<T>::Element_t LeftDomain< Dim >::stride ( const T &  u) const [inline]
template<int Dim>
int LeftDomain< Dim >::stride ( int  ) const [inline]
template<int Dim>
LeftDomain<Dim>& LeftDomain< Dim >::operator= ( const LeftDomain< Dim > &  d) [inline]

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