#include <IndirectionList.h>
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_t & | operator= (const This_t &newilist) |
template<class T1 > | |
This_t & | operator= (const T1 &a) |
This_t & | operator[] (int i) |
const This_t & | operator[] (int i) const |
const T & | operator() (Size_t i1) const |
T & | operator() (Size_t i1) |
Size_t | length () const |
T | first () const |
T | last () const |
T | stride () const |
T | min () const |
T | max () const |
Size_t | size () const |
bool | empty () const |
bool | initialized () const |
template<class T1 > | |
This_t & | operator+= (const T1 &val) |
template<class T1 > | |
This_t & | operator-= (const T1 &val) |
template<class T1 > | |
This_t & | operator*= (const T1 &val) |
template<class T1 > | |
This_t & | operator/= (const T1 &val) |
template<class Out > | |
void | print (Out &o) const |
print an IndirectionList to a stream, in the format "[" val1, val2, . |
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:
typedef IndirectionList<T> IndirectionList< T >::This_t |
typedef T IndirectionList< T >::Element_t |
typedef IndirectionList<T> IndirectionList< T >::Domain_t |
typedef DataBlockPtr<T> IndirectionList< T >::Storage_t |
typedef long IndirectionList< T >::Size_t |
IndirectionList< T >::IndirectionList | ( | ) | [inline] |
IndirectionList< T >::IndirectionList | ( | const This_t & | a | ) | [inline] |
IndirectionList< T >::IndirectionList | ( | int | num | ) | [inline] |
IndirectionList< T >::IndirectionList | ( | long | num | ) | [inline] |
IndirectionList< T >::IndirectionList | ( | unsigned int | num | ) | [inline] |
IndirectionList< T >::IndirectionList | ( | unsigned long | num | ) | [inline] |
IndirectionList< T >::IndirectionList | ( | const T1 & | first, | |
const T1 & | stride, | |||
Size_t | num | |||
) | [inline] |
IndirectionList< T >::IndirectionList | ( | const T1 & | a | ) | [inline, explicit] |
IndirectionList< T >::~IndirectionList | ( | ) | [inline] |
This_t& IndirectionList< T >::operator= | ( | const This_t & | newilist | ) | [inline] |
This_t& IndirectionList< T >::operator= | ( | const T1 & | a | ) | [inline] |
This_t& IndirectionList< T >::operator[] | ( | int | i | ) | [inline] |
const This_t& IndirectionList< T >::operator[] | ( | int | i | ) | const [inline] |
const T& IndirectionList< T >::operator() | ( | Size_t | i1 | ) | const [inline] |
T& IndirectionList< T >::operator() | ( | Size_t | i1 | ) | [inline] |
Size_t IndirectionList< T >::length | ( | ) | const [inline] |
T IndirectionList< T >::first | ( | ) | const [inline] |
T IndirectionList< T >::last | ( | ) | const [inline] |
T IndirectionList< T >::stride | ( | ) | const [inline] |
Referenced by DomainTraits< Grid< 1 > >::stride().
T IndirectionList< T >::min | ( | ) | const [inline] |
Referenced by DomainTraits< Grid< 1 > >::min().
T IndirectionList< T >::max | ( | ) | const [inline] |
Referenced by DomainTraits< Grid< 1 > >::max().
Size_t IndirectionList< T >::size | ( | ) | const [inline] |
Referenced by DynamicLayoutData::copy(), DynamicLayoutData::destroy(), IndirectionListIterator< T >::done(), IndirectionList< IndirectionList< int > >::empty(), IndirectionList< IndirectionList< int > >::operator*=(), IndirectionList< IndirectionList< int > >::operator+=(), IndirectionList< IndirectionList< int > >::operator-=(), IndirectionList< IndirectionList< int > >::operator/=(), and IndirectionList< T >::print().
bool IndirectionList< T >::empty | ( | ) | const [inline] |
bool IndirectionList< T >::initialized | ( | ) | const [inline] |
This_t& IndirectionList< T >::operator+= | ( | const T1 & | val | ) | [inline] |
This_t& IndirectionList< T >::operator-= | ( | const T1 & | val | ) | [inline] |
This_t& IndirectionList< T >::operator*= | ( | const T1 & | val | ) | [inline] |
This_t& IndirectionList< T >::operator/= | ( | const T1 & | val | ) | [inline] |
print an IndirectionList to a stream, in the format "[" val1, val2, .
.. , valN "]"
References IndirectionList< T >::size().