Drag[en]gine Game Engine  1.21
decThreadSafeObjectOrderedSet Class Reference

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...
 
deThreadSafeObjectGetAt (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...
 
deThreadSafeObjectoperator[] (int index) const
 Object at index. More...
 
decThreadSafeObjectOrderedSetoperator= (const decThreadSafeObjectOrderedSet &set)
 Copy set to this set. More...
 
decThreadSafeObjectOrderedSetoperator+= (const decThreadSafeObjectOrderedSet &set)
 Append objects of set to this set. More...
 

Detailed Description

Ordered set of objects.

All objects including NULL are allowed. Objects can be included only once in the set.

Constructor & Destructor Documentation

◆ decThreadSafeObjectOrderedSet() [1/3]

decThreadSafeObjectOrderedSet::decThreadSafeObjectOrderedSet ( )

Create a new set.

◆ decThreadSafeObjectOrderedSet() [2/3]

decThreadSafeObjectOrderedSet::decThreadSafeObjectOrderedSet ( int  capacity)

Create a new set with initial capacity.

Exceptions
deeInvalidParamcapacity is less than 0.

◆ decThreadSafeObjectOrderedSet() [3/3]

decThreadSafeObjectOrderedSet::decThreadSafeObjectOrderedSet ( const decThreadSafeObjectOrderedSet set)

Create copy of a set.

◆ ~decThreadSafeObjectOrderedSet()

decThreadSafeObjectOrderedSet::~decThreadSafeObjectOrderedSet ( )

Clean up the set.

Member Function Documentation

◆ Add()

void decThreadSafeObjectOrderedSet::Add ( deThreadSafeObject object)

Add object.

Exceptions
deeInvalidParamobject is present in the set.

◆ AddIfAbsent()

void decThreadSafeObjectOrderedSet::AddIfAbsent ( deThreadSafeObject object)

Add object if absent from the set.

◆ Equals()

bool decThreadSafeObjectOrderedSet::Equals ( const decThreadSafeObjectOrderedSet set) const

Determine if this set is equal to another set.

◆ GetAt()

deThreadSafeObject* decThreadSafeObjectOrderedSet::GetAt ( int  index) const

Object at index.

Exceptions
deeInvalidParamindex is less than 0 or larger than GetCount()-1.

◆ GetCount()

int decThreadSafeObjectOrderedSet::GetCount ( ) const
inline

Number of objects.

◆ GetHead() [1/2]

void decThreadSafeObjectOrderedSet::GetHead ( decThreadSafeObjectOrderedSet set,
int  count 
) const

Set set to objects from the beginning of this set.

Exceptions
deeInvalidParamcount is less than 0.

◆ GetHead() [2/2]

decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::GetHead ( int  count) const

New set with the objects from the beginning of this set.

Exceptions
deeInvalidParamcount is less than 0.

◆ GetMiddle() [1/2]

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.

Exceptions
deeInvalidParamfrom is less than 0.
deeInvalidParamto is less than from.

◆ GetMiddle() [2/2]

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.

Exceptions
deeInvalidParamfrom is less than 0.
deeInvalidParamto is less than from.

◆ GetSliced() [1/2]

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.

Exceptions
deeInvalidParamfrom is less than 0.
deeInvalidParamto is less than from.
deeInvalidParamstep is less than 1.

◆ GetSliced() [2/2]

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.

Exceptions
deeInvalidParamfrom is less than 0.
deeInvalidParamto is less than from.
deeInvalidParamstep is less than 1.

◆ GetTail() [1/2]

void decThreadSafeObjectOrderedSet::GetTail ( decThreadSafeObjectOrderedSet set,
int  count 
) const

Set set to objects from the end of this set.

Exceptions
deeInvalidParamcount is less than 0.

◆ GetTail() [2/2]

decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::GetTail ( int  count) const

New set with objects from the end of this set.

Exceptions
deeInvalidParamcount is less than 0.

◆ Has()

bool decThreadSafeObjectOrderedSet::Has ( deThreadSafeObject object) const

Determine if object exists in the list.

◆ IndexOf()

int decThreadSafeObjectOrderedSet::IndexOf ( deThreadSafeObject object) const

Index of the first occurance of an object or -1 if not found.

◆ Insert()

void decThreadSafeObjectOrderedSet::Insert ( deThreadSafeObject object,
int  index 
)

Insert object.

Exceptions
deeInvalidParamobject is present in the set.
deeInvalidParamindex is less than 0 or larger than GetCount()-1.

◆ Move()

void decThreadSafeObjectOrderedSet::Move ( deThreadSafeObject object,
int  to 
)

Move object.

Exceptions
deeInvalidParamto is less than 0 or larger than GetCount().

◆ operator+()

decThreadSafeObjectOrderedSet decThreadSafeObjectOrderedSet::operator+ ( const decThreadSafeObjectOrderedSet set) const

New set containing all objects of this set followed by all objects of another set.

◆ operator+=()

decThreadSafeObjectOrderedSet& decThreadSafeObjectOrderedSet::operator+= ( const decThreadSafeObjectOrderedSet set)

Append objects of set to this set.

◆ operator=()

decThreadSafeObjectOrderedSet& decThreadSafeObjectOrderedSet::operator= ( const decThreadSafeObjectOrderedSet set)

Copy set to this set.

◆ operator==()

bool decThreadSafeObjectOrderedSet::operator== ( const decThreadSafeObjectOrderedSet set) const

Determine if this set is equal to another set.

◆ operator[]()

deThreadSafeObject* decThreadSafeObjectOrderedSet::operator[] ( int  index) const

Object at index.

Exceptions
deeInvalidParamindex is less than 0 or larger than GetCount()-1.

◆ Remove()

void decThreadSafeObjectOrderedSet::Remove ( deThreadSafeObject object)

Remove object.

Exceptions
deeInvalidParamobject is is absent from the set.

◆ RemoveAll()

void decThreadSafeObjectOrderedSet::RemoveAll ( )

Remove all objects.

◆ RemoveFrom()

void decThreadSafeObjectOrderedSet::RemoveFrom ( int  index)

Remove object from index.

Exceptions
deeInvalidParamindex is less than 0 or larger than GetCount()-1.

◆ RemoveIfPresent()

void decThreadSafeObjectOrderedSet::RemoveIfPresent ( deThreadSafeObject object)

Remove object if present in the set.

◆ SetAt()

void decThreadSafeObjectOrderedSet::SetAt ( int  index,
deThreadSafeObject object 
)

Set object at index.

Exceptions
deeInvalidParamindex is less than 0 or larger than GetCount()-1.

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