DomainTraitsScalar< DomT, T, NewDom1T > Struct Template Reference

DomainTraitsScalar<DomT, T, NewDom1T> can act as a base class for partially specialized versions of DomainTraits for non-domain classes and types, such as the basic scalar types. More...

#include <DomainTraits.h>

Inheritance diagram for DomainTraitsScalar< DomT, T, NewDom1T >:

Inheritance graph
[legend]

List of all members.

Public Types

enum  { domain = false }
enum  { dimensions = 1, sliceDimensions = 0 }
enum  { loopAware = false }
enum  { singleValued = true }
enum  { unitStride = true }
enum  { wildcard = false }
typedef DomT Domain_t
typedef DomT OneDomain_t
typedef NewDom1T NewDomain1_t
typedef T PointDomain_t
typedef T Element_t
typedef int Size_t

Static Public Member Functions

static OneDomain_t getDomain (T d, int)
static PointDomain_t getPointDomain (T d, int)
static Element_t getFirst (const Element_t &d)
static Element_t getLast (const Element_t &d)
static int getStride (const Element_t &)
static Size_t getLength (const Element_t &)
static Size_t getSize (const Element_t &d)
static Element_t getMin (const Element_t &d)
static Element_t getMax (const Element_t &d)
static bool getEmpty (const Element_t &)
static int getLoop (const Element_t &)
static Element_t getElem (const Element_t &d, int)


Detailed Description

template<class DomT, class T, class NewDom1T>
struct DomainTraitsScalar< DomT, T, NewDom1T >

DomainTraitsScalar<DomT, T, NewDom1T> can act as a base class for partially specialized versions of DomainTraits for non-domain classes and types, such as the basic scalar types.

It it templated on the types to use for Domain_t, Element_t, and NewDomain1_t. It is used as the base class for the DomainTraits<int> specialization, and for DomainTraits<T> in general for all types T that do not have any other specialized traits defined. It provides definitions for most of the standard traits settings, and implementations of the static get* methods. For scalars, get* functions mostly just return back the same scalar, except that:


Member Typedef Documentation

template<class DomT, class T, class NewDom1T>
typedef DomT DomainTraitsScalar< DomT, T, NewDom1T >::Domain_t

template<class DomT, class T, class NewDom1T>
typedef DomT DomainTraitsScalar< DomT, T, NewDom1T >::OneDomain_t

template<class DomT, class T, class NewDom1T>
typedef NewDom1T DomainTraitsScalar< DomT, T, NewDom1T >::NewDomain1_t

template<class DomT, class T, class NewDom1T>
typedef T DomainTraitsScalar< DomT, T, NewDom1T >::PointDomain_t

template<class DomT, class T, class NewDom1T>
typedef T DomainTraitsScalar< DomT, T, NewDom1T >::Element_t

template<class DomT, class T, class NewDom1T>
typedef int DomainTraitsScalar< DomT, T, NewDom1T >::Size_t


Member Enumeration Documentation

template<class DomT, class T, class NewDom1T>
anonymous enum

Enumerator:
domain 

template<class DomT, class T, class NewDom1T>
anonymous enum

Enumerator:
dimensions 
sliceDimensions 

template<class DomT, class T, class NewDom1T>
anonymous enum

Enumerator:
loopAware 

template<class DomT, class T, class NewDom1T>
anonymous enum

Enumerator:
singleValued 

template<class DomT, class T, class NewDom1T>
anonymous enum

Enumerator:
unitStride 

template<class DomT, class T, class NewDom1T>
anonymous enum

Enumerator:
wildcard 


Member Function Documentation

template<class DomT, class T, class NewDom1T>
static OneDomain_t DomainTraitsScalar< DomT, T, NewDom1T >::getDomain ( d,
int   
) [inline, static]

template<class DomT, class T, class NewDom1T>
static PointDomain_t DomainTraitsScalar< DomT, T, NewDom1T >::getPointDomain ( d,
int   
) [inline, static]

template<class DomT, class T, class NewDom1T>
static Element_t DomainTraitsScalar< DomT, T, NewDom1T >::getFirst ( const Element_t d  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static Element_t DomainTraitsScalar< DomT, T, NewDom1T >::getLast ( const Element_t d  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static int DomainTraitsScalar< DomT, T, NewDom1T >::getStride ( const Element_t  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static Size_t DomainTraitsScalar< DomT, T, NewDom1T >::getLength ( const Element_t  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static Size_t DomainTraitsScalar< DomT, T, NewDom1T >::getSize ( const Element_t d  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static Element_t DomainTraitsScalar< DomT, T, NewDom1T >::getMin ( const Element_t d  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static Element_t DomainTraitsScalar< DomT, T, NewDom1T >::getMax ( const Element_t d  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static bool DomainTraitsScalar< DomT, T, NewDom1T >::getEmpty ( const Element_t  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static int DomainTraitsScalar< DomT, T, NewDom1T >::getLoop ( const Element_t  )  [inline, static]

template<class DomT, class T, class NewDom1T>
static Element_t DomainTraitsScalar< DomT, T, NewDom1T >::getElem ( const Element_t d,
int   
) [inline, static]


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

Generated on Wed Mar 16 06:19:55 2011 for FreePOOMA by  doxygen 1.5.9