# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Private Member Functions | Private Attributes
dirac::OneDArray< T > Class Template Reference

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

`#include <arrays.h>`

List of all members.

## Public Member Functions
| OneDArray ()
| Default constructor.
| OneDArray (const int len)
| 'Length' constructor.
| OneDArray (const Range &r)
| Range constructor.
| ~OneDArray ()
| Destructor.
| OneDArray (const OneDArray< T > &cpy)
| Copy constructor.
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 dirac::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

template<class T >

dirac::OneDArray< T >::OneDArray | ( |  | ) |

Default constructor produces an empty array.

template<class T >

dirac::OneDArray< T >::OneDArray | ( | const int | len | ) |

Length constructor produces a zero-based array.

template<class T >

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

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

Parameters:

  r | a range of indexing values.

template<class T>

dirac::OneDArray< T >::~OneDArray | ( |  | ) |
| inline

Destructor frees the data allocated in the constructors.

template<class T>

dirac::OneDArray< T >::OneDArray | ( | const OneDArray< T > & | cpy | ) |

Copy constructor copies both data and metadata.

References dirac::OneDArray< T >::m_first, dirac::OneDArray< T >::m_last, and dirac::OneDArray< T >::m_ptr.

## Member Function Documentation

template<class T>

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

template<class T >

void dirac::OneDArray< T >::FreePtr | ( |  | ) |
| private

Referenced by dirac::OneDArray< ImageCoords >::~OneDArray().

template<class T >

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

template<class T >

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

References dirac::Range::First(), and dirac::Range::Last().

template<class T>

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

template<class T>

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

template<class T>

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

Assignment= assigns both data and metadata.

References dirac::OneDArray< T >::m_first, dirac::OneDArray< T >::m_last, dirac::OneDArray< T >::m_length, and dirac::OneDArray< T >::m_ptr.

template<class T>

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

template<class T>

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

template<class T >

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

## Member Data Documentation

template<class T>

int dirac::OneDArray< T >::m_first
| private

Referenced by dirac::OneDArray< ImageCoords >::First(), dirac::OneDArray< T >::OneDArray(), dirac::OneDArray< T >::operator=(), and dirac::OneDArray< ImageCoords >::operator[]().

template<class T>

int dirac::OneDArray< T >::m_last
| private

Referenced by dirac::OneDArray< ImageCoords >::Last(), dirac::OneDArray< T >::OneDArray(), and dirac::OneDArray< T >::operator=().

template<class T>

int dirac::OneDArray< T >::m_length
| private

Referenced by dirac::OneDArray< ImageCoords >::Length(), and dirac::OneDArray< T >::operator=().

template<class T>

T* dirac::OneDArray< T >::m_ptr
| private

Referenced by dirac::OneDArray< T >::OneDArray(), dirac::OneDArray< T >::operator=(), and dirac::OneDArray< ImageCoords >::operator[]().

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

- arrays.h

© 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.