Dirac - A Video Codec

Created by the British Broadcasting Corporation.


OneDArray< T > Class Template Reference

A template class for one-dimensional arrays. More...

#include <arrays.h>

Inheritance diagram for OneDArray< T >:

Public Member Functions

 OneDArray ()
 Default constructor.
 OneDArray (const int len)
 'Length' constructor.
 OneDArray (const Range &r)
 Range constructor.
 OneDArray (const OneDArray< T > &cpy)
 Copy constructor.
 ~OneDArray ()
 Destructor.
OneDArray< T > & operator= (const OneDArray< T > &rhs)
 Assignment=.
void Resize (int l)
 Resize the array, throwing away the current data.
T & operator[] (const int pos)
 Element access.
const T & operator[] (const int pos) const
 Element access.
int Length () const
 Returns the length of the array.
int First () const
 Returns the index of the first element.
int Last () const
 Returns the index of the last element.

Private Member Functions

void Init (const int len)
void Init (const Range &r)
void FreePtr ()

Private Attributes

int m_first
int m_last
int m_length
T * m_ptr

Detailed Description

template<class T>
class OneDArray< T >

A template class for one-D arrays. Can be used wherever built-in arrays are used, and eliminates the need for explicit memory (de-)allocation. Also supports arrays not based at zero.

Constructor & Destructor Documentation

◆ OneDArray() [1/4]

template<class T>
dirac::OneDArray< T >::OneDArray ( )

Default constructor produces an empty array.

◆ OneDArray() [2/4]

template<class T>
dirac::OneDArray< T >::OneDArray ( const int len)

Length constructor produces a zero-based array.

◆ OneDArray() [3/4]

template<class T>
dirac::OneDArray< T >::OneDArray ( const Range & r)

Range constructor produces an array with values indexed within the range parameters.

Parameters
ra range of indexing values.

◆ OneDArray() [4/4]

template<class T>
dirac::OneDArray< T >::OneDArray ( const OneDArray< T > & cpy)

Copy constructor copies both data and metadata.

◆ ~OneDArray()

template<class T>
dirac::OneDArray< T >::~OneDArray ( )
inline

Destructor frees the data allocated in the constructors.

Member Function Documentation

◆ First()

template<class T>
int dirac::OneDArray< T >::First ( ) const
inline

◆ FreePtr()

template<class T>
void dirac::OneDArray< T >::FreePtr ( )
private

◆ Init() [1/2]

template<class T>
void dirac::OneDArray< T >::Init ( const int len)
private

◆ Init() [2/2]

template<class T>
void dirac::OneDArray< T >::Init ( const Range & r)
private

◆ Last()

template<class T>
int dirac::OneDArray< T >::Last ( ) const
inline

◆ Length()

template<class T>
int dirac::OneDArray< T >::Length ( ) const
inline

◆ operator=()

template<class T>
OneDArray< T > & dirac::OneDArray< T >::operator= ( const OneDArray< T > & rhs)

Assignment= assigns both data and metadata.

◆ operator[]() [1/2]

template<class T>
T & dirac::OneDArray< T >::operator[] ( const int pos)
inline

◆ operator[]() [2/2]

template<class T>
const T & dirac::OneDArray< T >::operator[] ( const int pos) const
inline

◆ Resize()

template<class T>
void dirac::OneDArray< T >::Resize ( int l)

Member Data Documentation

◆ m_first

template<class T>
int dirac::OneDArray< T >::m_first
private

◆ m_last

template<class T>
int dirac::OneDArray< T >::m_last
private

◆ m_length

template<class T>
int dirac::OneDArray< T >::m_length
private

◆ m_ptr

template<class T>
T* dirac::OneDArray< T >::m_ptr
private

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

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.