UCommon
Public Member Functions
ucommon::vectorof< T > Class Template Reference

A templated vector for a list of a specific Object subtype. More...

#include <vector.h>

Inheritance diagram for ucommon::vectorof< T >:
Inheritance graph
[legend]
Collaboration diagram for ucommon::vectorof< T >:
Collaboration graph
[legend]

Public Member Functions

T * begin (void)
 Get the first typed object pointer contained in the vector.
T * end (void)
 Get the last typed object pointer contained in the vector.
T * get (int index)
 Get object pointer of specified type from vector.
T * operator() (vectorsize_t position)
 Retrieve a typed member of the vector directly.
Vectoroperator+ (Vector &vector)
 Concatenate typed vector in an expression.
T & operator[] (int index)
 Return a pointer from the vector by array reference.
 vectorof ()
 Create an empty vector for specified type.
 vectorof (vectorsize_t size)
 Create an empty vector of allocated size for specified type.
- Public Member Functions inherited from ucommon::Vector
void add (ObjectProtocol **list)
 Add (append) a NULL terminated list of objects to the vector.
void add (ObjectProtocol *pointer)
 Add (append) a single object pointer to the vector.
void add (Vector &vector)
 Add (append) an existing vector to our vector.
void clear (void)
 De-reference and remove all pointers from the vector.
vectorsize_t find (ObjectProtocol *pointer, vectorsize_t offset=0)
 Find the first instance of a specific pointer in the vector.
vectorsize_t get (void **mem, vectorsize_t max)
 Copy the vector to an external pointer array.
vectorsize_t len (void)
 Get the size of the vector (number of active members).
void operator() (vectorsize_t position, ObjectProtocol *pointer)
 Assign a member of the vector directly.
void operator() (ObjectProtocol *pointer)
 Append a member to the vector directly.
void operator++ ()
 Drop first member of vector.
void operator+= (Vector &vector)
 Append into our existing vector from another vector.
void operator+= (vectorsize_t count)
 Drop first specified members from the vector.
void operator-- ()
 Drop last member of the vector.
void operator-= (vectorsize_t count)
 Drop last specified members from the vector.
void operator= (Vector &vector)
 Assign (copy) into our existing vector from another vector.
Vectoroperator^ (Vector &vector)
 Release vector and concat vector from another vector.
void operator^= (Vector &vector)
 Release our existing vector and duplicate from another vector.
virtual bool resize (vectorsize_t size)
 Re-size & re-allocate the total (allocated) size of the vector.
void rsplit (vectorsize_t position)
 Split the vector after a specified offset.
void set (vectorsize_t position, ObjectProtocol *pointer)
 Set a member of the vector to an object.
void set (ObjectProtocol **list)
 Set the vector to a list of objects terminated by a NULL pointer.
void set (Vector &vector)
 Set (duplicate) an existing vector into our vector.
vectorsize_t size (void)
 Get the effective allocation space used by the vector.
void split (vectorsize_t position)
 Split the vector at a specified offset.
 Vector ()
 Create an initially empty vector.
 Vector (vectorsize_t size)
 Create a vector of size object pointers.
 Vector (ObjectProtocol **items, vectorsize_t size=0)
 Create a vector of size objects from existing object pointers.
virtual ~Vector ()
 Destroy the current reference counted vector of object pointers.

Additional Inherited Members

- Static Public Member Functions inherited from ucommon::Vector
static vectorsize_t size (void **list)
 Compute the effective vector size of a list of object pointers.
- Static Public Attributes inherited from ucommon::Vector
static vectorsize_t npos
 npos is a constant for an "invalid" position value.
- Protected Member Functions inherited from ucommon::Vector
virtual void cow (vectorsize_t adj=0)
array * create (vectorsize_t size)
ObjectProtocol ** list (void)
virtual void release (void)
- Protected Attributes inherited from ucommon::Vector
array * data

Detailed Description

template<class T>
class ucommon::vectorof< T >

A templated vector for a list of a specific Object subtype.

The templated type must be derived from Object.

Author:
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 425 of file vector.h.


Constructor & Destructor Documentation

template<class T >
ucommon::vectorof< T >::vectorof ( vectorsize_t  size)
inline

Create an empty vector of allocated size for specified type.

Parameters:
sizeof vector to allocate.

Definition at line 437 of file vector.h.


Member Function Documentation

template<class T >
T* ucommon::vectorof< T >::begin ( void  )
inline

Get the first typed object pointer contained in the vector.

Returns:
first typed object pointer.

Reimplemented from ucommon::Vector.

Definition at line 462 of file vector.h.

template<class T >
T* ucommon::vectorof< T >::end ( void  )
inline

Get the last typed object pointer contained in the vector.

Returns:
last typed object pointer.

Reimplemented from ucommon::Vector.

Definition at line 469 of file vector.h.

template<class T >
T* ucommon::vectorof< T >::get ( int  index)
inline

Get object pointer of specified type from vector.

Parameters:
indexof typed member to return, < 0 to use from end of list.
Returns:
typed object pointer of member.

Reimplemented from ucommon::Vector.

Definition at line 444 of file vector.h.

template<class T >
T* ucommon::vectorof< T >::operator() ( vectorsize_t  position)
inline

Retrieve a typed member of the vector directly.

Parameters:
positionto retrieve object from.
Returns:
typed object pointer retrieved from vector.

Reimplemented from ucommon::Vector.

Definition at line 455 of file vector.h.

template<class T >
Vector& ucommon::vectorof< T >::operator+ ( Vector vector)
inline

Concatenate typed vector in an expression.

Parameters:
vectorto concatenate.
Returns:
effective object to continue in expression.

Reimplemented from ucommon::Vector.

Definition at line 477 of file vector.h.

Here is the call graph for this function:

template<class T >
T& ucommon::vectorof< T >::operator[] ( int  index)
inline

Return a pointer from the vector by array reference.

Parameters:
indexof vector member pointer to return.

Reimplemented from ucommon::Vector.

Definition at line 447 of file vector.h.


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