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]
Collaboration diagram for IndirectionList< T >:

Collaboration 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 [inline]

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

.. , valN "]"

References IndirectionList< T >::size().


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

Generated on Wed Mar 16 06:20:14 2011 for FreePOOMA by  doxygen 1.5.9