#include <FUObject.h>
Inheritance diagram for FUObjectContainer< ObjectClass >:
Public Types | |
typedef ObjectClass ** | iterator |
Defines the item pointer iterator for the pointer array. | |
typedef const ObjectClass ** | const_iterator |
Defines the constant-version of the item pointer iterator for the pointer array. | |
Public Member Functions | |
virtual | ~FUObjectContainer () |
Destructor. | |
void | clear () |
Clears and releases the object tracked by this object list. | |
size_t | size () const |
Retrieves the number of elements in the container. | |
bool | empty () const |
Retrieves whether there are values in this container. | |
ObjectClass *& | front () |
Retrieves the first element of the container. | |
const ObjectClass *& | front () const |
See above. | |
ObjectClass *& | back () |
Retrieves the last element of the container. | |
const ObjectClass *& | back () const |
See above. | |
ObjectClass * | at (size_t index) |
Retrieves an indexed object in the list. | |
const ObjectClass * | at (size_t index) const |
See above. | |
template<class INTEGER> | |
ObjectClass * | operator[] (INTEGER index) |
See above. | |
template<class INTEGER> | |
const ObjectClass * | operator[] (INTEGER index) const |
See above. | |
iterator | begin () |
Retrieves an iterator for the first element in the list. | |
const_iterator | begin () const |
See above. | |
iterator | end () |
Retrieves an iterator for the element after the last element in the list. | |
const_iterator | end () const |
See above. | |
iterator | find (const ObjectClass *item) |
Retrieves an iterator for a given element in the list. | |
const_iterator | find (const ObjectClass *item) const |
See above. | |
void | push_back (ObjectClass *object) |
Adds an object to the container's containment list. | |
iterator | insert (iterator _iterator, ObjectClass *object) |
Inserts an object in the container's containment list. | |
void | insert (size_t index, ObjectClass *object) |
Inserts an object in the container's containment list. | |
template<class _It> | |
void | insert (iterator _where, _It _startIterator, _It _endIterator) |
Inserts a list of object in the container's containment list. | |
void | pop_back () |
Removes the last value of the tracked object list. | |
void | pop_front () |
Removes the first value of the object container. | |
iterator | erase (iterator _it) |
Removes the value at the given position within the list. | |
void | erase (iterator first, iterator last) |
Removes a range of values from the list. | |
void | erase (size_t first, size_t last) |
Removes a range of values from the list. | |
bool | erase (const ObjectClass *value) |
Removes a value contained within the list, once. | |
iterator | Detach (iterator _it) |
Detaches the value at the given position from the list. | |
void | Detach (iterator first, iterator last) |
Detaches a range of values from the list. | |
void | Detach (size_t first, size_t last) |
Detaches a range of values from the list. | |
bool | Detach (const ObjectClass *value) |
Detaches a given value from the list. | |
void | erase (size_t index) |
Removes an indexed value contained within the list. | |
void | reserve (size_t count) |
Pre-caches the wanted number of pointers. | |
bool | contains (const ObjectClass *value) const |
Retrieves whether this container owns a given object. | |
DEPRECATED (3.05A,"FUObject::Release()") bool release(const ObjectClass *value) | |
Releases a value contained within a list. | |
ObjectClass * | Add () |
Adds a new empty object to the container. | |
template<class A1> | |
ObjectClass * | Add (const A1 &arg1) |
Adds a new object to the container. | |
template<class A1, class A2> | |
ObjectClass * | Add (const A1 &arg1, const A2 &arg2) |
Adds a new object to the container. | |
template<class A1, class A2, class A3> | |
ObjectClass * | Add (const A1 &arg1, const A2 &arg2, const A3 &arg3) |
Adds a new object to the container. | |
Protected Member Functions | |
virtual void | OnOwnedObjectReleased (FUObject *object) |
Removes an object from the container's owned list. |
When this list is released, the contained objects are also released. Each object should have only one owner.
|
Destructor. Releases all the objects contained within this container. |
|
Adds a new object to the container.
|
|
Adds a new object to the container.
|
|
Adds a new object to the container.
|
|
Adds a new empty object to the container.
|
|
Retrieves an indexed object in the list.
Reimplemented from fm::pvector< ObjectClass >. |
|
Retrieves the last element of the container.
Reimplemented from fm::pvector< ObjectClass >. |
|
Retrieves an iterator for the first element in the list.
Reimplemented from fm::pvector< ObjectClass >. |
|
Retrieves whether this container owns a given object.
|
|
Releases a value contained within a list. Use this function only if there is no duplicate pointers within the list.
|
|
Detaches a given value from the list. The object is not released, so after this call: it has no owner and must be released manually.
|
|
Detaches a range of values from the list. The objects are not released, so after this call: they have no owner and must be released manually.
|
|
Detaches a range of values from the list. The objects are not released, so after this call: they have no owner and must be released manually.
|
|
Detaches the value at the given position from the list. The object is not released, so after this call: it has no owner and must be released manually.
|
|
Retrieves whether there are values in this container.
Reimplemented from fm::vector< const void *, true >. |
|
Retrieves an iterator for the element after the last element in the list.
Reimplemented from fm::pvector< ObjectClass >. |
|
Removes an indexed value contained within the list.
Reimplemented from fm::pvector< ObjectClass >. |
|
Removes a value contained within the list, once.
Reimplemented from fm::pvector< ObjectClass >. |
|
Removes a range of values from the list.
Reimplemented from fm::vector< const void *, true >. |
|
Removes a range of values from the list.
|
|
Removes the value at the given position within the list.
|
|
Retrieves an iterator for a given element in the list.
Reimplemented from fm::pvector< ObjectClass >. |
|
Retrieves the first element of the container.
Reimplemented from fm::pvector< ObjectClass >. |
|
Inserts a list of object in the container's containment list.
|
|
Inserts an object in the container's containment list.
|
|
Inserts an object in the container's containment list.
|
|
Removes an object from the container's owned list.
Implements FUObjectOwner. |
|
Removes the first value of the object container. Warning: this function may result in large memory copies, since we use an array to contain objects. Reimplemented from fm::vector< const void *, true >. |
|
Adds an object to the container's containment list.
|
|
Pre-caches the wanted number of pointers. Use this function to avoid many memory re-allocations.
Reimplemented from fm::vector< const void *, true >. |
|
Retrieves the number of elements in the container.
Reimplemented from fm::vector< const void *, true >. |