UCommon
Public Member Functions | Friends
ucommon::MemVector Class Reference

Vector with fixed size member list. More...

#include <vector.h>

Inheritance diagram for ucommon::MemVector:
Inheritance graph
[legend]
Collaboration diagram for ucommon::MemVector:
Collaboration graph
[legend]

Public Member Functions

 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.
ObjectProtocoloperator() (vectorsize_t position)
 Retrieve a member of the vector directly.
void operator() (ObjectProtocol *pointer)
 Append a member to the vector directly.
Vectoroperator+ (Vector &vector)
 Concatenate into our existing vector from assignment list.
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.
ObjectProtocoloperator[] (int index)
 Return a pointer from the vector by array reference.
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.

Friends

class Vector::array

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

Vector with fixed size member list.

This is analogous to the memstring class and is used to tie a vector to a fixed list in memory.

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

Definition at line 388 of file vector.h.

Constructor & Destructor Documentation

ucommon::MemVector::MemVector ( void *  pointer,
vectorsize_t  size 
)

Create and manage a vector stored in fixed memory.

Parameters
pointerto where our vector list lives.
sizeof vector list in memory.

Member Function Documentation

void ucommon::MemVector::operator= ( Vector vector)
inline

Assign an existing vector into our fixed vector list.

Parameters
vectorto copy from.

Reimplemented from ucommon::Vector.

Definition at line 414 of file vector.h.


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