Simpatico  v1.10
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
Util::Array< Data > Class Template Reference

Detailed Description

template<typename Data>
class Util::Array< Data >

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.

Definition at line 28 of file AutoCorrArray.h.

#include <Array.h>

Inheritance diagram for Util::Array< Data >:
Util::RArray< McMd::Atom > Util::DArray< Data > Util::RArray< Data >

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...
 
const Data & operator[] (int i) const
 Get an element by const reference. More...
 
Data * cArray ()
 Return pointer to underlying C array. More...
 
const Data * cArray () const
 Return pointer to const to 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...
 

Constructor & Destructor Documentation

template<typename Data >
Util::Array< Data >::~Array ( )
virtual

Destructor.

Definition at line 146 of file Array.h.

template<typename Data >
Util::Array< Data >::Array ( )
protected

Default constructor.

Protected to prevent direct instantiation.

Definition at line 137 of file Array.h.

Member Function Documentation

template<typename Data >
int Util::Array< Data >::capacity ( ) const
inline
template<typename Data>
void Util::Array< Data >::begin ( ArrayIterator< Data > &  iterator)
inline

Set an iterator to begin this Array.

Parameters
iteratorArrayIterator, initialized on output.

Definition at line 160 of file Array.h.

References Util::Array< Data >::capacity_, Util::Array< Data >::data_, Util::ArrayIterator< Data >::setCurrent(), and Util::ArrayIterator< Data >::setEnd().

template<typename Data>
void Util::Array< Data >::begin ( ConstArrayIterator< Data > &  iterator) const
inline

Set a const iterator to begin this Array.

Parameters
iteratorConstArrayIterator, initialized on output.

Definition at line 172 of file Array.h.

References Util::Array< Data >::capacity_, Util::Array< Data >::data_, Util::ConstArrayIterator< Data >::setCurrent(), and Util::ConstArrayIterator< Data >::setEnd().

template<typename Data >
Data & Util::Array< Data >::operator[] ( int  i)
inline

Get an element by non-const reference.

Mimic C-array subscripting.

Parameters
iarray index
Returns
non-const reference to element i

Definition at line 184 of file Array.h.

References Util::Array< Data >::capacity_, and Util::Array< Data >::data_.

template<typename Data >
const Data & Util::Array< Data >::operator[] ( int  i) const
inline

Get an element by const reference.

Mimics C-array subscripting.

Parameters
iarray index
Returns
const reference to element i

Definition at line 196 of file Array.h.

References Util::Array< Data >::capacity_, and Util::Array< Data >::data_.

template<typename Data >
Data * Util::Array< Data >::cArray ( )
inline

Return pointer to underlying C array.

Definition at line 208 of file Array.h.

References Util::Array< Data >::data_.

Referenced by McMd::DCDTrajectoryReader::readFrame(), and Util::Distribution::reduce().

template<typename Data >
const Data * Util::Array< Data >::cArray ( ) const
inline

Return pointer to const to underlying C array.

Definition at line 215 of file Array.h.

References Util::Array< Data >::data_.

Member Data Documentation

template<typename Data>
Data* Util::Array< Data >::data_
protected
template<typename Data>
int Util::Array< Data >::capacity_
protected

The documentation for this class was generated from the following files: