ArrayMeta< D, T > Class Template Reference

#include <array-meta.h>

List of all members.

Public Member Functions

 ArrayMeta (Size< D > size)
 ArrayMeta (ArrayMeta< D, T > *other, const From< D > &from)
 ArrayMeta (ArrayStorage< T > *store, const Size< D > &size_to)
 ArrayMeta (ArrayMeta< D, T > *other, const Size< D > &sized_to)
 ArrayMeta (ArrayMeta< D, T > *other, const To< D > &to)
 ArrayMeta (ArrayMeta< D, T > *other, const From< D > &from, const Size< D > &sized_to)
 ArrayMeta (ArrayMeta< D, T > *other, const From< D > &from, const To< D > &to)
 ArrayMeta (const ArrayMeta &)
template<int O>
 ArrayMeta (const ArrayMeta< O, T > &o)
template<int O>
 ArrayMeta (const ArrayMeta< O, T > &o, const Select< D > &selected)
ArrayMetaoperator= (const ArrayMeta &)
 ~ArrayMeta ()
void deref ()
void incref ()
bool decref ()
void replaceAccess (ArrayMeta< D, T > *other)
void setAddress (T *start)
Taddress (const Position< D > &c)
Taddress (const From< D > &c)
void printMetaInfo ()

Public Attributes

ArrayStorage< T > * storage
Toffset
Size< D > size
Delta< D > delta

template<int D, class T>
class ArrayMeta< D, T >


Constructor & Destructor Documentation

template<int D, class T >
ArrayMeta< D, T >::ArrayMeta ( Size< D >  size  )  [inline]
template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( ArrayMeta< D, T > *  other,
const From< D > &  from 
) [inline]
template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( ArrayStorage< T > *  store,
const Size< D > &  size_to 
) [inline]

This constructor accepts store as the storage and will increase the reference counter of the store with one. The sizes are set to the given size_to

template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( ArrayMeta< D, T > *  other,
const Size< D > &  sized_to 
) [inline]

This function returns a meta description based on other but with a reduced size

References ArrayMeta< D, T >::delta, ArrayMeta< D, T >::offset, ArrayMeta< D, T >::size, and ArrayMeta< D, T >::storage.

template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( ArrayMeta< D, T > *  other,
const To< D > &  to 
) [inline]
template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( ArrayMeta< D, T > *  other,
const From< D > &  from,
const Size< D > &  sized_to 
) [inline]
template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( ArrayMeta< D, T > *  other,
const From< D > &  from,
const To< D > &  to 
) [inline]
template<int D, class T>
ArrayMeta< D, T >::ArrayMeta ( const ArrayMeta< D, T > &   )  [inline]
template<int D, class T>
template<int O>
ArrayMeta< D, T >::ArrayMeta ( const ArrayMeta< O, T > &  o  )  [inline]

this function will return a meta description based on other but with a new larger dimensionality

References assert(), ArrayMeta< D, T >::delta, i, ArrayMeta< D, T >::offset, ArrayMeta< D, T >::size, and ArrayMeta< D, T >::storage.

template<int D, class T>
template<int O>
ArrayMeta< D, T >::ArrayMeta ( const ArrayMeta< O, T > &  o,
const Select< D > &  selected 
) [inline]

this function returns a meta description based on o but with only the selected dimensions remaining

References assert(), ArrayMeta< D, T >::delta, i, ArrayMeta< D, T >::offset, ArrayMeta< D, T >::size, and ArrayMeta< D, T >::storage.

template<int D, class T>
ArrayMeta< D, T >::~ArrayMeta (  )  [inline]

Member Function Documentation

template<int D, class T >
T * ArrayMeta< D, T >::address ( const From< D > &  c  )  [inline]
template<int D, class T >
T * ArrayMeta< D, T >::address ( const Position< D > &  c  )  [inline]
template<int D, class T>
bool ArrayMeta< D, T >::decref (  )  [inline]
template<int D, class T>
void ArrayMeta< D, T >::deref (  )  [inline]
template<int D, class T>
void ArrayMeta< D, T >::incref (  )  [inline]
template<int D, class T>
ArrayMeta& ArrayMeta< D, T >::operator= ( const ArrayMeta< D, T > &   )  [inline]
template<int D, class T >
void ArrayMeta< D, T >::printMetaInfo (  )  [inline]
template<int D, class T>
void ArrayMeta< D, T >::replaceAccess ( ArrayMeta< D, T > *  other  )  [inline]
template<int D, class T>
void ArrayMeta< D, T >::setAddress ( T start  )  [inline]

Member Data Documentation

template<int D, class T>
Delta<D> ArrayMeta< D, T >::delta
template<int D, class T>
T* ArrayMeta< D, T >::offset
template<int D, class T>
Size<D> ArrayMeta< D, T >::size
template<int D, class T>
ArrayStorage<T>* ArrayMeta< D, T >::storage

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by  doxygen 1.6.2