Drag[en]gine Game Engine
1.21
|
Ordered set of objects. More...
#include <decThreadSafeObjectOrderedSet.h>
Public Member Functions | |
Constructors and Destructors | |
decThreadSafeObjectOrderedSet () | |
Create a new set. More... | |
decThreadSafeObjectOrderedSet (int capacity) | |
Create a new set with initial capacity. More... | |
decThreadSafeObjectOrderedSet (const decThreadSafeObjectOrderedSet &set) | |
Create copy of a set. More... | |
~decThreadSafeObjectOrderedSet () | |
Clean up the set. More... | |
Management | |
int | GetCount () const |
Number of objects. More... | |
deThreadSafeObject * | GetAt (int index) const |
Object at index. More... | |
int | IndexOf (deThreadSafeObject *object) const |
Index of the first occurance of an object or -1 if not found. More... | |
bool | Has (deThreadSafeObject *object) const |
Determine if object exists in the list. More... | |
void | SetAt (int index, deThreadSafeObject *object) |
Set object at index. More... | |
void | Add (deThreadSafeObject *object) |
Add object. More... | |
void | AddIfAbsent (deThreadSafeObject *object) |
Add object if absent from the set. More... | |
void | Insert (deThreadSafeObject *object, int index) |
Insert object. More... | |
void | Move (deThreadSafeObject *object, int to) |
Move object. More... | |
void | Remove (deThreadSafeObject *object) |
Remove object. More... | |
void | RemoveIfPresent (deThreadSafeObject *object) |
Remove object if present in the set. More... | |
void | RemoveFrom (int index) |
Remove object from index. More... | |
void | RemoveAll () |
Remove all objects. More... | |
bool | Equals (const decThreadSafeObjectOrderedSet &set) const |
Determine if this set is equal to another set. More... | |
decThreadSafeObjectOrderedSet | GetHead (int count) const |
New set with the objects from the beginning of this set. More... | |
void | GetHead (decThreadSafeObjectOrderedSet &set, int count) const |
Set set to objects from the beginning of this set. More... | |
decThreadSafeObjectOrderedSet | GetTail (int count) const |
New set with objects from the end of this set. More... | |
void | GetTail (decThreadSafeObjectOrderedSet &set, int count) const |
Set set to objects from the end of this set. More... | |
decThreadSafeObjectOrderedSet | GetMiddle (int from, int to) const |
New set with objects from the middle of this set. More... | |
void | GetMiddle (decThreadSafeObjectOrderedSet &set, int from, int to) const |
Set set to objects from the middle of this set. More... | |
decThreadSafeObjectOrderedSet | GetSliced (int from, int to, int step) const |
New set with objects from the middle of this set using a step size. More... | |
void | GetSliced (decThreadSafeObjectOrderedSet &set, int from, int to, int step) const |
Set set to objects from the middle of this set using a step size. More... | |
Operators | |
bool | operator== (const decThreadSafeObjectOrderedSet &set) const |
Determine if this set is equal to another set. More... | |
decThreadSafeObjectOrderedSet | operator+ (const decThreadSafeObjectOrderedSet &set) const |
New set containing all objects of this set followed by all objects of another set. More... | |
deThreadSafeObject * | operator[] (int index) const |
Object at index. More... | |
decThreadSafeObjectOrderedSet & | operator= (const decThreadSafeObjectOrderedSet &set) |
Copy set to this set. More... | |
decThreadSafeObjectOrderedSet & | operator+= (const decThreadSafeObjectOrderedSet &set) |
Append objects of set to this set. More... | |
Ordered set of objects.
All objects including NULL are allowed. Objects can be included only once in the set.
decThreadSafeObjectOrderedSet::decThreadSafeObjectOrderedSet | ( | ) |
Create a new set.
decThreadSafeObjectOrderedSet::decThreadSafeObjectOrderedSet | ( | int | capacity | ) |
Create a new set with initial capacity.
deeInvalidParam | capacity is less than 0. |
decThreadSafeObjectOrderedSet::decThreadSafeObjectOrderedSet | ( | const decThreadSafeObjectOrderedSet & | set | ) |
Create copy of a set.
decThreadSafeObjectOrderedSet::~decThreadSafeObjectOrderedSet | ( | ) |
Clean up the set.
void decThreadSafeObjectOrderedSet::Add | ( | deThreadSafeObject * | object | ) |
Add object.
deeInvalidParam | object is present in the set. |
void decThreadSafeObjectOrderedSet::AddIfAbsent | ( | deThreadSafeObject * | object | ) |
Add object if absent from the set.
bool decThreadSafeObjectOrderedSet::Equals | ( | const decThreadSafeObjectOrderedSet & | set | ) | const |
Determine if this set is equal to another set.
deThreadSafeObject* decThreadSafeObjectOrderedSet::GetAt | ( | int | index | ) | const |
Object at index.
deeInvalidParam | index is less than 0 or larger than GetCount()-1. |
|
inline |
Number of objects.
void decThreadSafeObjectOrderedSet::GetHead | ( | decThreadSafeObjectOrderedSet & | set, |
int | count | ||
) | const |
Set set to objects from the beginning of this set.
deeInvalidParam | count is less than 0. |
decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::GetHead | ( | int | count | ) | const |
New set with the objects from the beginning of this set.
deeInvalidParam | count is less than 0. |
void decThreadSafeObjectOrderedSet::GetMiddle | ( | decThreadSafeObjectOrderedSet & | set, |
int | from, | ||
int | to | ||
) | const |
Set set to objects from the middle of this set.
from and to are clamped to the last index in the set if larger.
deeInvalidParam | from is less than 0. |
deeInvalidParam | to is less than from. |
decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::GetMiddle | ( | int | from, |
int | to | ||
) | const |
New set with objects from the middle of this set.
from and to are clamped to the last index in the set if larger.
deeInvalidParam | from is less than 0. |
deeInvalidParam | to is less than from. |
void decThreadSafeObjectOrderedSet::GetSliced | ( | decThreadSafeObjectOrderedSet & | set, |
int | from, | ||
int | to, | ||
int | step | ||
) | const |
Set set to objects from the middle of this set using a step size.
from and to are clamped to the last index in the set if larger.
deeInvalidParam | from is less than 0. |
deeInvalidParam | to is less than from. |
deeInvalidParam | step is less than 1. |
decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::GetSliced | ( | int | from, |
int | to, | ||
int | step | ||
) | const |
New set with objects from the middle of this set using a step size.
from and to are clamped to the last index in the set if larger.
deeInvalidParam | from is less than 0. |
deeInvalidParam | to is less than from. |
deeInvalidParam | step is less than 1. |
void decThreadSafeObjectOrderedSet::GetTail | ( | decThreadSafeObjectOrderedSet & | set, |
int | count | ||
) | const |
Set set to objects from the end of this set.
deeInvalidParam | count is less than 0. |
decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::GetTail | ( | int | count | ) | const |
New set with objects from the end of this set.
deeInvalidParam | count is less than 0. |
bool decThreadSafeObjectOrderedSet::Has | ( | deThreadSafeObject * | object | ) | const |
Determine if object exists in the list.
int decThreadSafeObjectOrderedSet::IndexOf | ( | deThreadSafeObject * | object | ) | const |
Index of the first occurance of an object or -1 if not found.
void decThreadSafeObjectOrderedSet::Insert | ( | deThreadSafeObject * | object, |
int | index | ||
) |
Insert object.
deeInvalidParam | object is present in the set. |
deeInvalidParam | index is less than 0 or larger than GetCount()-1. |
void decThreadSafeObjectOrderedSet::Move | ( | deThreadSafeObject * | object, |
int | to | ||
) |
Move object.
deeInvalidParam | to is less than 0 or larger than GetCount(). |
decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::operator+ | ( | const decThreadSafeObjectOrderedSet & | set | ) | const |
New set containing all objects of this set followed by all objects of another set.
decThreadSafeObjectOrderedSet& decThreadSafeObjectOrderedSet::operator+= | ( | const decThreadSafeObjectOrderedSet & | set | ) |
Append objects of set to this set.
decThreadSafeObjectOrderedSet& decThreadSafeObjectOrderedSet::operator= | ( | const decThreadSafeObjectOrderedSet & | set | ) |
Copy set to this set.
bool decThreadSafeObjectOrderedSet::operator== | ( | const decThreadSafeObjectOrderedSet & | set | ) | const |
Determine if this set is equal to another set.
deThreadSafeObject* decThreadSafeObjectOrderedSet::operator[] | ( | int | index | ) | const |
Object at index.
deeInvalidParam | index is less than 0 or larger than GetCount()-1. |
void decThreadSafeObjectOrderedSet::Remove | ( | deThreadSafeObject * | object | ) |
Remove object.
deeInvalidParam | object is is absent from the set. |
void decThreadSafeObjectOrderedSet::RemoveAll | ( | ) |
Remove all objects.
void decThreadSafeObjectOrderedSet::RemoveFrom | ( | int | index | ) |
Remove object from index.
deeInvalidParam | index is less than 0 or larger than GetCount()-1. |
void decThreadSafeObjectOrderedSet::RemoveIfPresent | ( | deThreadSafeObject * | object | ) |
Remove object if present in the set.
void decThreadSafeObjectOrderedSet::SetAt | ( | int | index, |
deThreadSafeObject * | object | ||
) |
Set object at index.
deeInvalidParam | index is less than 0 or larger than GetCount()-1. |