UCommon
Public Member Functions
ucommon::vectorbuf< T, S > Class Template Reference

Allocated vector list of a specified type. More...

#include <vector.h>

Inheritance diagram for ucommon::vectorbuf< T, S >:
Inheritance graph
[legend]
Collaboration diagram for ucommon::vectorbuf< T, S >:
Collaboration graph
[legend]

Public Member Functions

T * begin (void)
 Get the first typed object pointer contained in the fixed vector.
T * end (void)
 Get the last typed object pointer contained in the fixed vector.
T * get (int index)
 Get object pointer of specified type from fixed vector.
T * operator() (vectorsize_t position)
 Retrieve a typed member of the fixed vector directly.
Vectoroperator+ (Vector &vector)
 Concatenate fixed typed vector in an expression.
T & operator[] (int index)
 Return a pointer from the vector by array reference.
 vectorbuf ()
 Construct fixed sized vector object in heap or stack.
- Public Member Functions inherited from ucommon::MemVector
 MemVector (void *pointer, vectorsize_t size)
 Create and manage a vector stored in fixed memory.
void operator= (Vector &vector)
 Assign an existing vector into our fixed vector list.
 ~MemVector ()
 Destroy the vector.
- 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.
ObjectProtocolbegin (void) const
 Get the first object pointer contained in the vector.
void clear (void)
 De-reference and remove all pointers from the vector.
ObjectProtocolend (void) const
 Get the last object pointer contained in the vector.
vectorsize_t find (ObjectProtocol *pointer, vectorsize_t offset=0) const
 Find the first instance of a specific pointer in the vector.
ObjectProtocolget (int index) const
 Get an object pointer from a specified member of the vector.
vectorsize_t get (void **mem, vectorsize_t max) const
 Copy the vector to an external pointer array.
vectorsize_t len (void) const
 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.
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) const
 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 const 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) const
ObjectProtocol ** list (void) const
virtual void release (void)
- Protected Attributes inherited from ucommon::Vector
array * data

Detailed Description

template<typename T, vectorsize_t S>
class ucommon::vectorbuf< T, S >

Allocated vector list of a specified type.

This analogous to the stringbuf class and allows one to create a vector with it's member list as a single object that can live in the heap or that can be created at once and used as a auto variable.

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

Definition at line 686 of file vector.h.

Member Function Documentation

template<typename T , vectorsize_t S>
T* ucommon::vectorbuf< T, S >::begin ( void  )
inline

Get the first typed object pointer contained in the fixed vector.

Returns
first typed object pointer.

Definition at line 720 of file vector.h.

template<typename T , vectorsize_t S>
T* ucommon::vectorbuf< T, S >::end ( void  )
inline

Get the last typed object pointer contained in the fixed vector.

Returns
last typed object pointer.

Definition at line 727 of file vector.h.

template<typename T , vectorsize_t S>
T* ucommon::vectorbuf< T, S >::get ( int  index)
inline

Get object pointer of specified type from fixed vector.

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

Definition at line 702 of file vector.h.

template<typename T , vectorsize_t S>
T* ucommon::vectorbuf< T, S >::operator() ( vectorsize_t  position)
inline

Retrieve a typed member of the fixed vector directly.

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

Reimplemented from ucommon::Vector.

Definition at line 713 of file vector.h.

template<typename T , vectorsize_t S>
Vector& ucommon::vectorbuf< T, S >::operator+ ( Vector vector)
inline

Concatenate fixed typed vector in an expression.

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

Reimplemented from ucommon::Vector.

Definition at line 735 of file vector.h.

Here is the call graph for this function:

template<typename T , vectorsize_t S>
T& ucommon::vectorbuf< T, S >::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 705 of file vector.h.


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