# class ObjVector

A vector holding GenObjects. More...

Full name | `TelEngine::ObjVector`
Definition | `#include <yateclass.h>`
Inherits | TelEngine::GenObject [public ]
List of all Methods

Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- inline explicit 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
- inline unsigned int length () const
- unsigned int count () const
- inline GenObject* at (int index) const
- inline GenObject* operator[] (signed int index) const
- inline GenObject* operator[] (unsigned int index) const
- unsigned int assign (ObjList& list, bool move = true, unsigned int maxLen = 0)
- GenObject* take (unsigned int index)
- bool set (GenObject* obj, unsigned int index)
- int index (const GenObject* obj) const
- int index (const String& str) const
- void clear ()
- inline bool autoDelete ()
- inline void setDelete (bool autodelete)

## Detailed Description

Simple vector class that holds objects derived from GenObject

inline explicit ObjVector (bool autodelete = true)

### ObjVector

Constructor of a zero capacity vector

Parameters:

autodelete | True to delete objects on destruct, false otherwise

ObjVector (unsigned int maxLen, bool autodelete = true)

### ObjVector

Constructor of an empty vector

Parameters:

maxLen | Maximum number of objects the vector can hold
autodelete | True to delete objects on destruct, false otherwise

ObjVector (ObjList& list, bool move = true, unsigned int maxLen = 0, bool autodelete = true)

### ObjVector

Constructor from an object list

Parameters:

list | List of objects to store in vector
move | True to move elements from list, false to just copy the pointer
maxLen | Maximum number of objects to put in vector, zero to put all
autodelete | True to delete objects on destruct, false otherwise

~ObjVector ()

### ~ObjVector

[virtual]

Destroys the vector and the objects if automatic delete is set

void* getObject (const String& name)

### getObject

[const virtual]

Get a pointer to a derived class given that class name

Parameters:

name | Name 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.

inline unsigned int length ()

### length

[const]

Get the capacity of the vector

Returns: Number of items the vector can hold

unsigned int count ()

### count

[const]

Get the number of non-null objects in the vector

Returns: Count of items

inline GenObject* at (int index)

### at

[const]

Get the object at a specific index in vector

Parameters:

index | Index of the object to retrieve

Returns: Pointer to the object or NULL

inline GenObject* operator[] (signed int index)

### operator[]

[const]

Indexing operator with signed parameter

Parameters:

index | Index of the object to retrieve

Returns: Pointer to the object or NULL

inline GenObject* operator[] (unsigned int index)

### operator[]

[const]

Indexing operator with unsigned parameter

Parameters:

index | Index of the object to retrieve

Returns: Pointer to the object or NULL

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

### assign

Clear the vector and assign objects from a list

Parameters:

list | List of objects to store in vector
move | True to move elements from list, false to just copy the pointer
maxLen | Maximum number of objects to put in vector, zero to put all

Returns: Capacity of the vector

GenObject* take (unsigned int index)

### take

Retrieve and remove an object from the vector

Parameters:

index | Index of the object to retrieve

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

bool set (GenObject* obj, unsigned int index)

### set

Store an object in the vector

Parameters:

obj | Object to store in vector
index | Index of the object to store

Returns: True for success, false if index was out of bounds

int index (const GenObject* obj)

### index

[const]

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

Parameters:

obj | Pointer to the object to search for

Returns: Index of object in vector, -1 if not found

int index (const String& str)

### index

[const]

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

Parameters:

str | String value (toString) of the object to search for

Returns: Index of object in vector, -1 if not found

void clear ()

### clear

Clear the vector and optionally delete all contained objects

inline bool autoDelete ()

### autoDelete

Get the automatic delete flag

Returns: True if will delete objects on destruct, false otherwise

inline void setDelete (bool autodelete)

### setDelete

Set the automatic delete flag

Parameters:

autodelete | True to delete objects on destruct, false otherwise

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.