Created by Scott Robert Ladd at Coyote Gulch Productions.
A STL-compatible array class. More...
#include <array.h>
Public Types | |
typedef Type | value_type |
Type of an array element. | |
typedef Type * | pointer |
type of a pointer to an element | |
typedef const Type * | const_pointer |
Type of a constant pointer to an element. | |
typedef Type & | reference |
Type of a reference to an element. | |
typedef const Type & | const_reference |
Type of a constant reference to an element. | |
typedef ptrdiff_t | difference_type |
Difference type between two element pointers. | |
typedef size_t | size_type |
Size type for indexing array elements. | |
typedef Type * | iterator |
Iterator type. | |
typedef const Type * | const_iterator |
Constant iterator type. | |
typedef Type * | reverse_iterator |
Reverse iterator type. | |
typedef const Type * | const_reverse_iterator |
Constant reverse iterator type. |
Public Member Functions | |
array (size_t a_length) | |
Default constructor. | |
array (size_t a_length, const Type &a_init_value) | |
Initialization constructor. | |
array (const array< Type > &a_source) | |
Copy constructor. | |
array (size_t a_length, const Type *a_carray) | |
Create from C-style array. | |
virtual | ~array () throw () |
Virtual destructor. | |
array & | operator= (const array< Type > &a_source) throw () |
Assignment operator. | |
array & | operator= (const Type &a_value) throw () |
Assign value to all elements. | |
array & | operator= (const Type *a_carray) throw () |
Assign from C-style array. | |
const Type * | c_array () const throw () |
Conversion to C-style array. | |
Type & | operator[] (size_t n) throw (LIBCOYOTL_ARRAY_EXCEPTIONS) |
Element access. | |
Type | operator[] (size_t n) const throw (LIBCOYOTL_ARRAY_EXCEPTIONS) |
Element access, constant array. | |
void | append (const array< Type > &a_array) |
Appending arrays. | |
iterator | begin () throw () |
Obtain beginning-of-sequence iterator. | |
const_iterator | begin () const throw () |
Obtain beginning-of-sequence iterator, constant array. | |
iterator | end () throw () |
Obtain end-of-sequence iterator. | |
const_iterator | end () const throw () |
Obtain end-of-sequence iterator, constant array. | |
iterator | rbegin () throw () |
Obtain beginning-of-sequence reverse iterator. | |
const_iterator | rbegin () const throw () |
Obtain beginning-of-sequence reverse iterator, constant array. | |
iterator | rend () throw () |
Obtain end-of-sequence reverse iterator. | |
const_iterator | rend () const throw () |
Obtain end-of-sequence reverse iterator, constant array. | |
bool | operator== (const array< Type > &a_comparand) const throw () |
Equals operator. | |
bool | operator!= (const array< Type > &a_comparand) const throw () |
Inequality operator. | |
bool | operator< (const array< Type > &a_comparand) const throw () |
Less-than operator. | |
bool | operator<= (const array< Type > &a_comparand) const throw () |
Less-than-or-equal-to operator. | |
bool | operator> (const array< Type > &a_comparand) const throw () |
Greater-than operator. | |
bool | operator>= (const array< Type > &a_comparand) const throw () |
Greater-than-or-equal-to operator. | |
void | swap (array< Type > &a_source) throw () |
Exchanges the corresponding elements of two arrays. | |
size_t | size () const throw () |
Number of elements. | |
size_t | max_size () const throw () |
Maximum container size. | |
bool | empty () const throw () |
Empty container check. |
Protected Attributes | |
Type * | m_array |
Underlying allocated array. | |
size_t | m_size |
Length of the array. |
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.
libcoyotl::array< Type >::array | ( | size_t | a_length | ) |
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.
libcoyotl::array< Type >::array | ( | size_t | a_length, |
const Type & | a_init_value | ||
) |
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.
libcoyotl::array< Type >::array | ( | const array< Type > & | a_source | ) |
Creates a new array identical to an existing one.
a_source | - The a_source object |
References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.
libcoyotl::array< Type >::array | ( | size_t | a_length, |
const Type * | a_carray | ||
) |
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.
|
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.
void libcoyotl::array< Type >::append | ( | const array< Type > & | a_array | ) |
Appends the a_other array to the target, extending the length of the target by the length of a_other.
a_array | - Array to be appended to the target |
References libcoyotl::array< Type >::m_array, and libcoyotl::array< Type >::m_size.
|
inline |
Returns an iterator to the first elements of the array.
|
inline |
Returns a const iterator to the first element of the array.
|
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.
|
inline |
Always false, as an array is never "empty". Required by Standard C++ algorithms and container definitions.
|
inline |
Returns an iterator to the first element beyond the end of the array.
|
inline |
Returns a const iterator to the first element beyond the end of the array.
|
inline |
Returns the maximum size of the container, which is the same as the size(). Required by Standard C++ algorithms and container definitions.
|
inline |
Compares corresponding elements of the target array to the argument array, checking for inequality.
a_comparand | - Comparand array |
|
inline |
Compares corresponding elements of the target array and the comparand array, checking that all target elements are less than comparand elements.
a_comparand | - Comparand array |
|
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.
a_comparand | - Comparand array |
array< Type > & libcoyotl::array< Type >::operator= | ( | const array< Type > & | a_source | ) | throw () |
Assigns an existing object the state of another.
a_source | - The source object |
array< Type > & libcoyotl::array< Type >::operator= | ( | const Type & | a_value | ) | throw () |
Assigns a given value to all elements in an array.
a_value | - Value to be assigned |
array< Type > & libcoyotl::array< Type >::operator= | ( | const Type * | a_carray | ) | throw () |
Assign elements from a c-style array, assuming that c_array contains at least the number of elements in the target array.
a_carray | - A pointer to a C-style array |
|
inline |
Compares corresponding elements of the target array to the argument array, checking for equality.
a_comparand | - Comparand array |
|
inline |
Compares corresponding elements of the target array and the comparand array, checking that all target elements are greater than comparand elements.
a_comparand | - Comparand array |
|
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.
a_comparand | - Comparand array |
|
inline |
Returns a reference to a specific element in an array.
n | - Index of an element |
|
inline |
Returns a specific element in an array.
n | - Index of an element |
|
inline |
Returns a reverse iterator to the first element beyond the end of the array.
|
inline |
Returns a reverse iterator to the first element beyond the end of the array.
|
inline |
Returns a reverse iterator to the first element of the array.
|
inline |
Returns a const reverse iterator to the first element of the array.
|
inline |
Returns the number of elements in an array. Required by Standard C++ algorithms and container definitions.
void libcoyotl::array< Type >::swap | ( | array< Type > & | a_source | ) | throw () |
Exchanges the corresponding elements of two arrays; used by various Standard C++ algorithms.
a_source | - Another array |
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.