FreePOOMA  2.4.1
Public Types | Public Member Functions
IndirectionList< T > Class Template Reference

IndirectionList is a domain representing a N dimension set of integer sequences. More...

#include <IndirectionList.h>

Inheritance diagram for IndirectionList< T >:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { dimensions = 1 }
enum  { loopAware = false }
enum  { singleValued = false }
enum  { unitStride = false }
typedef IndirectionList< T > This_t
typedef T Element_t
typedef IndirectionList< T > Domain_t
typedef DataBlockPtr< T > Storage_t
typedef long Size_t

Public Member Functions

 IndirectionList ()
 IndirectionList (const This_t &a)
 IndirectionList (int num)
 IndirectionList (long num)
 IndirectionList (unsigned int num)
 IndirectionList (unsigned long num)
template<class T1 >
 IndirectionList (const T1 &first, const T1 &stride, Size_t num)
template<class T1 >
 IndirectionList (const T1 &a)
 ~IndirectionList ()
This_toperator= (const This_t &newilist)
template<class T1 >
This_toperator= (const T1 &a)
This_toperator[] (int i)
const This_toperator[] (int i) const
const T & operator() (Size_t i1) const
T & operator() (Size_t i1)
Size_t length () const
first () const
last () const
stride () const
min () const
max () const
Size_t size () const
bool empty () const
bool initialized () const
template<class T1 >
This_toperator+= (const T1 &val)
template<class T1 >
This_toperator-= (const T1 &val)
template<class T1 >
This_toperator*= (const T1 &val)
template<class T1 >
This_toperator/= (const T1 &val)
template<class Out >
void print (Out &o) const
 print an IndirectionList to a stream, in the format "[" val1, val2, ...

Detailed Description

template<class T>
class IndirectionList< T >

IndirectionList is a domain representing a N dimension set of integer sequences.

It is always a 1D list, but can store data of multiple dimensions (if, say, the type T is Loc<Dim>)

IndirectionList can be constructed using any of the Array class objects (Array, DynamicArray) . The constructor accepts only one such object. It is a templated constructor, however, and can work with any object that has an Array-like interface.

The default IndirectionList constructor initializes the IndirectionList to be empty, that is, to have a length() of zero. In that case, the endpoints are undefined, as is any operation involving the IndirectionList.

In addition to the constructors, IndirectionList has the following public interface, similar to all 1D domain objects.

IndirectionList<T> interface:


Member Typedef Documentation

template<class T>
typedef IndirectionList<T> IndirectionList< T >::This_t
template<class T>
typedef T IndirectionList< T >::Element_t
template<class T>
typedef IndirectionList<T> IndirectionList< T >::Domain_t
template<class T>
typedef DataBlockPtr<T> IndirectionList< T >::Storage_t
template<class T>
typedef long IndirectionList< T >::Size_t

Member Enumeration Documentation

template<class T>
anonymous enum
Enumerator:
dimensions 
template<class T>
anonymous enum
Enumerator:
loopAware 
template<class T>
anonymous enum
Enumerator:
singleValued 
template<class T>
anonymous enum
Enumerator:
unitStride 

Constructor & Destructor Documentation

template<class T>
IndirectionList< T >::IndirectionList ( ) [inline]
template<class T>
IndirectionList< T >::IndirectionList ( const This_t a) [inline]
template<class T>
IndirectionList< T >::IndirectionList ( int  num) [inline]
template<class T>
IndirectionList< T >::IndirectionList ( long  num) [inline]
template<class T>
IndirectionList< T >::IndirectionList ( unsigned int  num) [inline]
template<class T>
IndirectionList< T >::IndirectionList ( unsigned long  num) [inline]
template<class T>
template<class T1 >
IndirectionList< T >::IndirectionList ( const T1 &  first,
const T1 &  stride,
Size_t  num 
) [inline]
template<class T>
template<class T1 >
IndirectionList< T >::IndirectionList ( const T1 &  a) [inline, explicit]
template<class T>
IndirectionList< T >::~IndirectionList ( ) [inline]

Member Function Documentation

template<class T>
This_t& IndirectionList< T >::operator= ( const This_t newilist) [inline]
template<class T>
template<class T1 >
This_t& IndirectionList< T >::operator= ( const T1 &  a) [inline]
template<class T>
This_t& IndirectionList< T >::operator[] ( int  i) [inline]
template<class T>
const This_t& IndirectionList< T >::operator[] ( int  i) const [inline]
template<class T>
const T& IndirectionList< T >::operator() ( Size_t  i1) const [inline]
template<class T>
T& IndirectionList< T >::operator() ( Size_t  i1) [inline]
template<class T>
Size_t IndirectionList< T >::length ( ) const [inline]
template<class T>
T IndirectionList< T >::first ( ) const [inline]
template<class T>
T IndirectionList< T >::last ( ) const [inline]
template<class T>
T IndirectionList< T >::stride ( ) const [inline]
template<class T>
T IndirectionList< T >::min ( ) const [inline]
template<class T>
T IndirectionList< T >::max ( ) const [inline]
template<class T>
Size_t IndirectionList< T >::size ( ) const [inline]
template<class T>
bool IndirectionList< T >::empty ( ) const [inline]
template<class T>
bool IndirectionList< T >::initialized ( ) const [inline]
template<class T>
template<class T1 >
This_t& IndirectionList< T >::operator+= ( const T1 &  val) [inline]
template<class T>
template<class T1 >
This_t& IndirectionList< T >::operator-= ( const T1 &  val) [inline]
template<class T>
template<class T1 >
This_t& IndirectionList< T >::operator*= ( const T1 &  val) [inline]
template<class T>
template<class T1 >
This_t& IndirectionList< T >::operator/= ( const T1 &  val) [inline]
template<class T >
template<class Out >
void IndirectionList< T >::print ( Out &  o) const

print an IndirectionList to a stream, in the format "[" val1, val2, ...

, valN "]"


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