PSCF v1.1
|
Array container class template. More...
#include <Array.h>
Public Member Functions | |
virtual | ~Array () |
Destructor. More... | |
int | capacity () const |
Return allocated size. More... | |
void | begin (ArrayIterator< Data > &iterator) |
Set an iterator to begin this Array. More... | |
void | begin (ConstArrayIterator< Data > &iterator) const |
Set a const iterator to begin this Array. More... | |
Data & | operator[] (int i) |
Get an element by non-const reference. More... | |
Data const & | operator[] (int i) const |
Get an element by const reference. More... | |
Data * | cArray () |
Return a pointer to the underlying C array. More... | |
Data const * | cArray () const |
Return pointer to const to the underlying C array. More... | |
Protected Member Functions | |
Array () | |
Default constructor. More... | |
Protected Attributes | |
Data * | data_ |
Pointer to an array of Data elements. More... | |
int | capacity_ |
Allocated size of the data_ array. More... | |
Array container class template.
An Array is a sequence that supports random access via an overloaded operator [], and that wraps a dynamically allocated C array.
Array is a base class for DArray, which is dynamically allocated, and RArray, which acts as a reference to another DArray or FSArray.
When compiled in debug mode (i.e., when NDEBUG is not defined) the subscript operator [] checks the validity of the element index.
|
virtual |
|
protected |
|
inline |
Return allocated size.
Definition at line 159 of file Array.h.
Referenced by Util::ArraySet< Data >::allocate(), Util::DRaggedMatrix< Data >::allocate(), Util::RArray< Data >::associate(), Util::bcast(), Pscf::Fd1d::Sweep::checkAllocation(), Pscf::FieldComparison< FT >::compare(), Pscf::Pspg::KFieldComparison< D >::compare(), Pscf::Pspc::KFieldComparison< D >::compare(), Pscf::Pspc::Mixture< D >::compute(), Pscf::Fd1d::Mixture::compute(), Pscf::Fd1d::HomogeneousComparison::compute(), Pscf::Fd1d::Block::computeConcentration(), Pscf::Homogeneous::Mixture::computePhi(), Pscf::Pspc::Propagator< D >::computeQ(), Util::Distribution::Distribution(), Pscf::Fd1d::FieldIo::extend(), Pscf::Pspc::FFT< D >::forwardTransform(), Pscf::Fd1d::Domain::innerProduct(), Util::IntDistribution::IntDistribution(), Pscf::Pspc::FFT< D >::inverseTransform(), Pscf::Pspc::FFT< D >::inverseTransformSafe(), Util::Distribution::loadParameters(), Util::IntDistribution::loadParameters(), Util::RadialDistribution::loadParameters(), Util::Distribution::operator=(), Util::IntDistribution::operator=(), Pscf::Pspc::RField< D >::operator=(), Util::DArray< Data >::operator=(), Pscf::Field< T >::operator=(), Pscf::Pspc::RFieldDft< D >::operator=(), Util::Polynomial< T >::Polynomial(), Pscf::Pspc::FieldIo< D >::readFieldBasis(), Pscf::Fd1d::FieldIo::readFields(), Util::recv(), Pscf::Fd1d::FieldIo::remesh(), Util::send(), Util::Distribution::serialize(), Pscf::Pspc::WFieldContainer< D >::setBasis(), Pscf::Pspg::WFieldContainer< D >::setBasis(), Pscf::Pspc::Mask< D >::setBasis(), Pscf::Pspc::WFieldContainer< D >::setRGrid(), Pscf::Pspc::FFT< D >::setup(), Pscf::Fd1d::Block::setupSolver(), Pscf::LuSolver::solve(), Pscf::Pspc::Propagator< D >::solve(), Pscf::Fd1d::Domain::spatialAverage(), Pscf::Pspc::Block< D >::step(), Pscf::Pspc::System< D >::writeBlockCRGrid(), Pscf::Pspg::System< D >::writeBlockCRGrid(), Pscf::Fd1d::FieldIo::writeField(), Pscf::Pspc::FieldIo< D >::writeFieldBasis(), and Pscf::Fd1d::FieldIo::writeFields().
|
inline |
Set an iterator to begin this Array.
On return, iterator points to the first element of the array, and the iterator end pointer is set to one past the last element.
iterator | ArrayIterator, initialized on output |
Definition at line 166 of file Array.h.
References Util::ArrayIterator< Data >::setCurrent(), and Util::ArrayIterator< Data >::setEnd().
|
inline |
Set a const iterator to begin this Array.
On return, iterator points to the first element of the array, and the iterator end pointer is set to one past the last element.
iterator | ConstArrayIterator, initialized on output |
Definition at line 178 of file Array.h.
References Util::ConstArrayIterator< Data >::setCurrent(), and Util::ConstArrayIterator< Data >::setEnd().
|
inline |
|
inline |
|
inline |
Return a pointer to the underlying C array.
Definition at line 214 of file Array.h.
Referenced by Util::Distribution::reduce(), and Pscf::LuSolver::solve().
|
inline |
|
protected |
Pointer to an array of Data elements.
Definition at line 109 of file Array.h.
Referenced by Util::RArray< Data >::associate(), Util::DArray< Data >::DArray(), Pscf::Field< T >::Field(), Pscf::Field< T >::operator*=(), Pscf::Field< T >::operator+=(), Pscf::Field< T >::operator-=(), Pscf::Pspc::RFieldDft< D >::operator=(), Util::RArray< Data >::RArray(), Pscf::Pspc::RField< D >::RField(), and Pscf::Pspc::RFieldDft< D >::RFieldDft().
|
protected |
Allocated size of the data_ array.
Definition at line 112 of file Array.h.
Referenced by Util::RArray< Data >::associate(), Util::DArray< Data >::DArray(), Pscf::Field< T >::Field(), Pscf::Field< T >::operator*=(), Pscf::Field< T >::operator+=(), Pscf::Field< T >::operator-=(), Pscf::Pspc::RField< D >::operator=(), Util::DArray< Data >::operator=(), Pscf::Field< T >::operator=(), Pscf::Pspc::RFieldDft< D >::operator=(), Util::RArray< Data >::RArray(), Pscf::Pspc::RField< D >::RField(), and Pscf::Pspc::RFieldDft< D >::RFieldDft().