libcoyotl - A Library of C++ Tools

Created by Scott Robert Ladd at Coyote Gulch Productions.


libcoyotl::array< Type > Class Template Reference

A STL-compatible array class. More...

#include <array.h>

List of all members.

Public Types

Public Member Functions

Protected Attributes


Detailed Description

template<typename Type>
class libcoyotl::array< Type >

This class defines a simple array with elements stored in contiguous allocated memory. The Standard C++ valarray is focused on numerical applications and largely incompatible with the STL. The std::vector includes dyanmic array features that simply aren't necessary for many applications.

Constructor & Destructor Documentation

template<typename Type >
libcoyotl::array< Type >::array ( size_t  a_length  )  [inline]

Constructs an array with a_length uninitialized elements. /param a_length number of elements in the array

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

template<typename Type >
libcoyotl::array< Type >::array ( size_t  a_length,
const Type &  a_init_value 
) [inline]

Constructs an array with specific number of elements initialized to given value. /param a_length number of elements in the array /param a_init_value initial value of all array elements

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

template<typename Type >
libcoyotl::array< Type >::array ( const array< Type > &  a_source  )  [inline]

Creates a new array identical to an existing one.

Parameters:
a_source - The a_source object

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

template<typename Type >
libcoyotl::array< Type >::array ( size_t  a_length,
const Type *  a_carray 
) [inline]

Constructs a new array by copying the elements of the specified C-style array. /param a_length number of elements in the array /param a_carray pointer to an array of with a_length elements

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

template<typename Type >
libcoyotl::array< Type >::~array (  )  throw () [inline, virtual]

A virtual destructor. By default, it does nothing; this is a placeholder that identifies this class as a potential base, ensuring that objects of a derived class will have their destructors called if they are destroyed through a base-class pointer.

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.


Member Function Documentation

template<typename Type >
void libcoyotl::array< Type >::append ( const array< Type > &  a_array  )  [inline]

Appends the a_other array to the target, extending the length of the target by the length of a_other.

Parameters:
a_array - Array to be appended to the target

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

template<typename Type >
array< Type >::const_iterator libcoyotl::array< Type >::begin (  )  const throw () [inline]

Returns a const iterator to the first element of the array.

Returns:
A const iterator pointing to the first element in the array

References libcoyotl::array< Type >::m_array.

template<typename Type >
array< Type >::iterator libcoyotl::array< Type >::begin (  )  throw () [inline]

Returns an iterator to the first elements of the array.

Returns:
An iterator pointing to the first element in the array

References libcoyotl::array< Type >::m_array.

Referenced by libcoyotl::array< Type >::rend().

template<typename Type >
const Type * libcoyotl::array< Type >::c_array (  )  const throw () [inline]

Returns a pointer to the internal C-style array encapsulated by this array. The returned pointer is constant, so no elements can be change via this function.

Returns:
A const pointer to the underlying C-style array

References libcoyotl::array< Type >::m_array.

template<typename Type >
bool libcoyotl::array< Type >::empty (  )  const throw () [inline]

Always false, as an array is never "empty". Required by Standard C++ algorithms and container definitions.

Returns:
Always false

template<typename Type >
array< Type >::const_iterator libcoyotl::array< Type >::end (  )  const throw () [inline]

Returns a const iterator to the first element beyond the end of the array.

Returns:
A const iterator pointing to the first element beyond the end of the array

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

template<typename Type >
array< Type >::iterator libcoyotl::array< Type >::end (  )  throw () [inline]

Returns an iterator to the first element beyond the end of the array.

Returns:
An iterator pointing to the first element beyond the end of the array

References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.

Referenced by libcoyotl::array< Type >::rbegin().

template<typename Type >
size_t libcoyotl::array< Type >::max_size (  )  const throw () [inline]

Returns the maximum size of the container, which is the same as the size(). Required by Standard C++ algorithms and container definitions.

Returns:
Number of elements in the target array

References libcoyotl::array< Type >::m_size.

template<typename Type >
bool libcoyotl::array< Type >::operator!= ( const array< Type > &  a_comparand  )  const throw () [inline]

Compares corresponding elements of the target array to the argument array, checking for inequality.

Parameters:
a_comparand - Comparand array
Returns:
true if any elements of the target are not equal to corresponding elements in the comparand; false otherwise.

template<typename Type >
bool libcoyotl::array< Type >::operator< ( const array< Type > &  a_comparand  )  const throw () [inline]

Compares corresponding elements of the target array and the comparand array, checking that all target elements are less than comparand elements.

Parameters:
a_comparand - Comparand array
Returns:
true if all elements of the target are less than corresponding elements in the comparand; false otherwise.

template<typename Type >
bool libcoyotl::array< Type >::operator<= ( const array< Type > &  a_comparand  )  const throw () [inline]

Compares corresponding elements of the target array and the comparand array, checking that all target elements are less than or equal to comparand elements.

Parameters:
a_comparand - Comparand array
Returns:
true if all elements of the target are less than or equal to corresponding elements in the comparand; false otherwise.

template<typename Type >
array< Type > & libcoyotl::array< Type >::operator= ( const Type *  a_carray  )  throw () [inline]

Assign elements from a c-style array, assuming that c_array contains at least the number of elements in the target array.

Parameters:
a_carray - A pointer to a C-style array

template<typename Type >
array< Type > & libcoyotl::array< Type >::operator= ( const Type &  a_value  )  throw () [inline]

Assigns a given value to all elements in an array.

Parameters:
a_value - Value to be assigned
Returns:
A reference to the target array

template<typename Type >
array< Type > & libcoyotl::array< Type >::operator= ( const array< Type > &  a_source  )  throw () [inline]

Assigns an existing object the state of another.

Parameters:
a_source - The source object

template<typename Type >
bool libcoyotl::array< Type >::operator== ( const array< Type > &  a_comparand  )  const throw () [inline]

Compares corresponding elements of the target array to the argument array, checking for equality.

Parameters:
a_comparand - Comparand array
Returns:
true all corresponding elements are equal, false otherwise.

template<typename Type >
bool libcoyotl::array< Type >::operator> ( const array< Type > &  a_comparand  )  const throw () [inline]

Compares corresponding elements of the target array and the comparand array, checking that all target elements are greater than comparand elements.

Parameters:
a_comparand - Comparand array
Returns:
true if all elements of the target are greater than corresponding elements in the comparand; false otherwise.

template<typename Type >
bool libcoyotl::array< Type >::operator>= ( const array< Type > &  a_comparand  )  const throw () [inline]

Compares corresponding elements of the target array and the comparand array, checking that all target elements are greater than or equal to comparand elements.

Parameters:
a_comparand - Comparand array
Returns:
true if all elements of the target are greater than or equal to corresponding elements in the comparand; false otherwise.

template<typename Type >
Type libcoyotl::array< Type >::operator[] ( size_t  n  )  const throw (LIBCOYOTL_ARRAY_EXCEPTIONS) [inline]

Returns a specific element in an array.

Parameters:
n - Index of an element
Returns:
A copy of the element at index n

template<typename Type >
Type & libcoyotl::array< Type >::operator[] ( size_t  n  )  throw (LIBCOYOTL_ARRAY_EXCEPTIONS) [inline]

Returns a reference to a specific element in an array.

Parameters:
n - Index of an element
Returns:
A reference to the element at index n

template<typename Type >
array< Type >::const_reverse_iterator libcoyotl::array< Type >::rbegin (  )  const throw () [inline]

Returns a reverse iterator to the first element beyond the end of the array.

Returns:
An iterator pointing to the first element beyond the end of the array

References libcoyotl::array< Type >::end().

template<typename Type >
array< Type >::reverse_iterator libcoyotl::array< Type >::rbegin (  )  throw () [inline]

Returns a reverse iterator to the first element beyond the end of the array.

Returns:
An iterator pointing to the first element beyond the end of the array

References libcoyotl::array< Type >::end().

template<typename Type >
array< Type >::const_reverse_iterator libcoyotl::array< Type >::rend (  )  const throw () [inline]

Returns a const reverse iterator to the first element of the array.

Returns:
A const reverse iterator pointing to the first element in the array

References libcoyotl::array< Type >::begin().

template<typename Type >
array< Type >::reverse_iterator libcoyotl::array< Type >::rend (  )  throw () [inline]

Returns a reverse iterator to the first element of the array.

Returns:
A const reverse iterator pointing to the first element in the array

References libcoyotl::array< Type >::begin().

template<typename Type >
size_t libcoyotl::array< Type >::size (  )  const throw () [inline]

Returns the number of elements in an array. Required by Standard C++ algorithms and container definitions.

Returns:
Number of elements in target array

References libcoyotl::array< Type >::m_size.

template<typename Type >
void libcoyotl::array< Type >::swap ( array< Type > &  a_source  )  throw () [inline]

Exchanges the corresponding elements of two arrays; used by various Standard C++ algorithms.

Parameters:
a_source - Another array


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

© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.