Yate
Public Member Functions
ObjVector Class Reference

A vector holding GenObjects. More...

#include <yateclass.h>

Inheritance diagram for ObjVector:
GenObject

List of all members.

Public Member Functions

 ObjVector (bool autodelete=true)
 ObjVector (unsigned int maxLen, bool autodelete=true)
 ObjVector (ObjList &list, bool move=true, unsigned int maxLen=0, bool autodelete=true)
virtual ~ObjVector ()
virtual void * getObject (const String &name) const
unsigned int length () const
unsigned int count () const
GenObjectat (int index) const
GenObjectoperator[] (signed int index) const
GenObjectoperator[] (unsigned int index) const
unsigned int assign (ObjList &list, bool move=true, unsigned int maxLen=0)
GenObjecttake (unsigned int index)
bool set (GenObject *obj, unsigned int index)
int index (const GenObject *obj) const
int index (const String &str) const
void clear ()
bool autoDelete ()
void setDelete (bool autodelete)

Detailed Description

A vector holding GenObjects.

Simple vector class that holds objects derived from GenObject


Constructor & Destructor Documentation

ObjVector ( bool  autodelete = true) [inline, explicit]

Constructor of a zero capacity vector

Parameters:
autodeleteTrue to delete objects on destruct, false otherwise
ObjVector ( unsigned int  maxLen,
bool  autodelete = true 
)

Constructor of an empty vector

Parameters:
maxLenMaximum number of objects the vector can hold
autodeleteTrue to delete objects on destruct, false otherwise
ObjVector ( ObjList list,
bool  move = true,
unsigned int  maxLen = 0,
bool  autodelete = true 
)

Constructor from an object list

Parameters:
listList of objects to store in vector
moveTrue to move elements from list, false to just copy the pointer
maxLenMaximum number of objects to put in vector, zero to put all
autodeleteTrue to delete objects on destruct, false otherwise
virtual ~ObjVector ( ) [virtual]

Destroys the vector and the objects if automatic delete is set


Member Function Documentation

unsigned int assign ( ObjList list,
bool  move = true,
unsigned int  maxLen = 0 
)

Clear the vector and assign objects from a list

Parameters:
listList of objects to store in vector
moveTrue to move elements from list, false to just copy the pointer
maxLenMaximum number of objects to put in vector, zero to put all
Returns:
Capacity of the vector
GenObject* at ( int  index) const [inline]

Get the object at a specific index in vector

Parameters:
indexIndex of the object to retrieve
Returns:
Pointer to the object or NULL
bool autoDelete ( ) [inline]

Get the automatic delete flag

Returns:
True if will delete objects on destruct, false otherwise
void clear ( )

Clear the vector and optionally delete all contained objects

unsigned int count ( ) const

Get the number of non-null objects in the vector

Returns:
Count of items
virtual void* getObject ( const String name) const [virtual]

Get a pointer to a derived class given that class name

Parameters:
nameName of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from GenObject.

int index ( const GenObject obj) const

Get the position in vector of a GenObject by a pointer to it

Parameters:
objPointer to the object to search for
Returns:
Index of object in vector, -1 if not found
int index ( const String str) const

Get the position in vector of the first GenObject with a given value

Parameters:
strString value (toString) of the object to search for
Returns:
Index of object in vector, -1 if not found
unsigned int length ( ) const [inline]

Get the capacity of the vector

Returns:
Number of items the vector can hold
GenObject* operator[] ( signed int  index) const [inline]

Indexing operator with signed parameter

Parameters:
indexIndex of the object to retrieve
Returns:
Pointer to the object or NULL
GenObject* operator[] ( unsigned int  index) const [inline]

Indexing operator with unsigned parameter

Parameters:
indexIndex of the object to retrieve
Returns:
Pointer to the object or NULL
bool set ( GenObject obj,
unsigned int  index 
)

Store an object in the vector

Parameters:
objObject to store in vector
indexIndex of the object to store
Returns:
True for success, false if index was out of bounds
void setDelete ( bool  autodelete) [inline]

Set the automatic delete flag

Parameters:
autodeleteTrue to delete objects on destruct, false otherwise
GenObject* take ( unsigned int  index)

Retrieve and remove an object from the vector

Parameters:
indexIndex of the object to retrieve
Returns:
Pointer to the stored object, NULL for out of bound index

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