#include <array.h>
Inherits DataClass.
Public Types | |
typedef T | value |
typedef Array< 1, T > | vector |
typedef Array< 2, T > | matrix |
typedef ArrayIterator< D, T, false, 0, false > | values |
typedef ArrayIterator< D, T, false, 0, true > | ordered |
typedef ArrayIterator< D, T, true,0, false > | positions |
typedef ArrayIterator< D, T, false, 1, false > | vector_values |
typedef ArrayIterator< D, T, true,1, false > | vector_positions |
typedef ArrayIterator< D, T, true,1, true > | ordered_vectors |
typedef ArrayIterator< D, T, false, 2, false > | matrix_values |
typedef ArrayIterator< D, T, true,2, false > | matrix_positions |
Public Member Functions | |
Array () | |
Array (Size< D > size) | |
Array (int x) | |
Array (int x, int y) | |
Array (int x, int y, int z) | |
Array (int x, int y, int z, int a) | |
Array (int x, int y, int z, int a, int b, int c) | |
Array (const Array< D, T > &m) | |
Array (SpecialStorage< T > *store, Size< D > sizes) | |
template<int O> | |
Array (const Array< O, T > &m) | |
template<int O> | |
Array (const Array< O, T > &other, const Select< D > &selected) | |
Array< D, T > & | operator= (const Array< D, T > &m) |
Array< D, T > & | operator= (const T &m) |
Array< D, T > & | operator+= (const T &m) |
Array< D, T > & | operator+= (const Array< D, T > &m) |
Array< D, T > & | operator-= (const T &m) |
Array< D, T > & | operator/= (const T &m) |
Array< D, T > & | operator*= (const T &m) |
Array< D, T > | operator* (const T m) const |
Array< D, T > | operator/ (const T m) const |
Array< D, T > | operator+ (const Array< D, T > &m) const |
~Array () | |
Array< D, T > | operator() (const From< D > &from) const |
Array< D, T > | operator() (const To< D > &to) const |
Array< D, T > | operator() (const Size< D > &s) const |
Array< D, T > | operator() (const From< D > &from, const To< D > &to) const |
Array< D, T > | operator() (const From< D > &from, const Size< D > &size) const |
template<int O> | |
Array< O, T > | operator() (const Select< O > keep) const |
void | setAddress (T *start) |
int | size (int i) const |
Size< D > | size () const |
bool | empty () const |
Delta< D > | delta () const |
int | delta (int i) const |
T * | address (Position< D > i) const |
T & | operator[] (Position< D > i) const |
bool | operator== (const Array< D, T > &m) const |
bool | operator!= (const Array< D, T > &m) const |
void | printMetaInfo () const |
template<class F > | |
void | copyFrom (const Array< D, F > &source) |
void | copyFrom (const Array< D, T > &source, const From< D > &where) |
virtual Data | getField (QString e) |
Public Attributes | |
ArrayMeta< D, T > * | content |
Protected Member Functions | |
virtual QString | type_name () const |
virtual DataClass * | shallow_copy () const |
virtual void | visit (DataVisitor &v) |
Array (ArrayMeta< D, T > *content_with_correct_refcount) |
Multidimensional arrays were conceived for a number of reasons. In various software we needed some way to handle large volumes of data while providing different views on the data. Currently, giving the considerations of a read-only memory this library would probably be redefined completely. Nevertheless at that time, my main interest was the multidimensional operations that were possible and a way to store retrieve them in a platform transparent manner. Some of the uses:
BpmDj
Gel Analysis
Petri-nets
The problem of cross platform access to data has not yet vanished, as such most of these data expression are still useful to read data from files and save it if we write our own flow modules.
Definition at line 84 of file array.h.
typedef ArrayIterator<D,T,true ,2,false> Array< D, T >::matrix_positions |
typedef ArrayIterator<D,T,false,2,false> Array< D, T >::matrix_values |
typedef ArrayIterator<D,T,false,0,true> Array< D, T >::ordered |
typedef ArrayIterator<D,T,true ,1,true> Array< D, T >::ordered_vectors |
typedef ArrayIterator<D,T,true ,0,false> Array< D, T >::positions |
typedef ArrayIterator<D,T,false,0,false> Array< D, T >::values |
typedef ArrayIterator<D,T,true ,1,false> Array< D, T >::vector_positions |
typedef ArrayIterator<D,T,false,1,false> Array< D, T >::vector_values |
Array< D, T >::Array | ( | SpecialStorage< T > * | store, | |
Size< D > | sizes | |||
) | [inline] |
This constructor accepts a SpecialStorage type (see array-storage). It will increase the reference counter immediately with one, effectively taking ownership of the data since it will also delete the data when the counter reaches zero.
int Array< D, T >::delta | ( | int | i | ) | const [inline] |
bool Array< D, T >::empty | ( | ) | const [inline] |
void Array< D, T >::printMetaInfo | ( | ) | const [inline] |
void Array< D, T >::setAddress | ( | T * | start | ) | [inline] |
int Array< D, T >::size | ( | int | i | ) | const [inline] |
virtual QString Array< D, T >::type_name | ( | ) | const [inline, protected, virtual] |
virtual void Array< D, T >::visit | ( | DataVisitor & | v | ) | [inline, protected, virtual] |