#include <array1d.h>
Public Types | |
typedef C | value_type |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef value_type * | iterator |
typedef const value_type * | const_iterator |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef size_t | size_type |
Public Member Functions | |
Array1D () | |
Array1D (const Array1D< C > &a) | |
Array1D (const size_type s) | |
~Array1D () | |
const size_type | size () const |
void | resize (const size_type s) |
Array1D< C > & | operator= (const Array1D< C > &a) |
const C & | operator[] (const size_type i) const |
C & | operator[] (const size_type i) |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
void | swap (Array1D< C > &a) |
void | swap (const size_type i, const size_type j) |
Protected Attributes | |
C * | data_ |
size_type | size_ |
This class models one-dimensional arrays of objects from an arbitrary class C and is merely a wrapper class around a conventional C-style array. Array1D<C> has the same interface as std::vector<C>, but it is much faster in practice due to the internal storage format. Even compared with a std::valarray<C>, one gains a bit of performance.
typedef const value_type* MathTL::Array1D< C >::const_iterator |
const iterator type (cf. STL containers)
typedef const value_type* MathTL::Array1D< C >::const_pointer |
const pointer type (cf. STL containers)
typedef const value_type& MathTL::Array1D< C >::const_reference |
const reference type (cf. STL containers)
typedef value_type* MathTL::Array1D< C >::iterator |
iterator type (cf. STL containers)
typedef value_type* MathTL::Array1D< C >::pointer |
pointer type (cf. STL containers)
typedef value_type& MathTL::Array1D< C >::reference |
reference type (cf. STL containers)
typedef size_t MathTL::Array1D< C >::size_type |
type of indexes and size of the array
typedef C MathTL::Array1D< C >::value_type |
value type (cf. STL containers)
MathTL::Array1D< C >::Array1D | ( | ) | [inline] |
default constructor, yields an empty array
MathTL::Array1D< C >::Array1D | ( | const Array1D< C > & | a | ) | [inline] |
copy constructor
MathTL::Array1D< C >::Array1D | ( | const size_type | s | ) | [inline, explicit] |
Construct an array of positive size, please note that the builtin types (int, double, ...) may _not_ automatically be set to _zero_, this depends on the compiler!
MathTL::Array1D< C >::~Array1D | ( | ) | [inline] |
release allocated memory
Array1D< C >::const_iterator MathTL::Array1D< C >::begin | ( | ) | const [inline] |
read-only iterator access to first element (cf. STL containers)
Array1D< C >::iterator MathTL::Array1D< C >::begin | ( | ) | [inline] |
read-write iterator access to first element (cf. STL containers)
Array1D< C >::const_iterator MathTL::Array1D< C >::end | ( | ) | const [inline] |
read-only iterator access to the element behind the last one (cf. STL containers)
Array1D< C >::iterator MathTL::Array1D< C >::end | ( | ) | [inline] |
read-only iterator access to the element behind the last one (cf. STL containers)
Array1D< C > & MathTL::Array1D< C >::operator= | ( | const Array1D< C > & | a | ) |
assignment
const C & MathTL::Array1D< C >::operator[] | ( | const size_type | i | ) | const [inline] |
read-only access to the i-th array member
C & MathTL::Array1D< C >::operator[] | ( | const size_type | i | ) | [inline] |
read-write access to the i-th array member
void MathTL::Array1D< C >::resize | ( | const size_type | s | ) |
resize the array
Warning: the initialization of the entries depends on the compiler (and even on the compiler options). It may very well be something like NAN!
const Array1D< C >::size_type MathTL::Array1D< C >::size | ( | ) | const [inline] |
size of the array
void MathTL::Array1D< C >::swap | ( | Array1D< C > & | a | ) | [inline] |
swap components of two arrays
void MathTL::Array1D< C >::swap | ( | const size_type | i, |
const size_type | j | ||
) |
swap two entries of an array
C* MathTL::Array1D< C >::data_ [protected] |
internal storage is just a pointer to a C array
size_type MathTL::Array1D< C >::size_ [protected] |
size of the array