PriorityList< ObjectType > Class Template Reference

#include <PriorityList.h>

Inheritance diagram for PriorityList< ObjectType >:
Collaboration diagram for PriorityList< ObjectType >:

Public Types

using List = OwnedLinkedObjectListTemplate< PriorityNode< ObjectType > >
 
- Public Types inherited from LinkedObjectListTemplate< PriorityNode< ObjectType > >
using Iterator = typename LinkedObjectTemplate< PriorityNode< ObjectType > >::template IteratorTemplate< PriorityNode< ObjectType >, PriorityNode< ObjectType > *, PriorityNode< ObjectType > & >
 
using ConstIterator = typename LinkedObjectTemplate< PriorityNode< ObjectType > >::template IteratorTemplate< const PriorityNode< ObjectType >, const PriorityNode< ObjectType > *, const PriorityNode< ObjectType > & >
 

Public Member Functions

bool add (ObjectType object, int priority)
 Adds and element and orders it according to its priority. Order is: High to low. More...
 
- Public Member Functions inherited from OwnedLinkedObjectListTemplate< PriorityNode< ObjectType > >
 OwnedLinkedObjectListTemplate ()=default
 
 OwnedLinkedObjectListTemplate (const OwnedLinkedObjectListTemplate &other)=delete
 
OwnedLinkedObjectListTemplateoperator= (const OwnedLinkedObjectListTemplate &other)=delete
 
 ~OwnedLinkedObjectListTemplate ()
 
bool remove (PriorityNode< ObjectType > *object)
 
void clear ()
 
- Public Member Functions inherited from LinkedObjectListTemplate< PriorityNode< ObjectType > >
 LinkedObjectListTemplate ()=default
 
 LinkedObjectListTemplate (PriorityNode< ObjectType > *object)
 
PriorityNode< ObjectType > * head ()
 
const PriorityNode< ObjectType > * head () const
 
Iterator begin ()
 
ConstIterator begin () const
 
Iterator end ()
 
ConstIterator end () const
 
bool add (PriorityNode< ObjectType > *object)
 
bool add (const PriorityNode< ObjectType > *object)
 
bool insert (PriorityNode< ObjectType > *object)
 
bool insert (const PriorityNode< ObjectType > *object)
 
PriorityNode< ObjectType > * pop ()
 
size_t count () const
 
bool contains (const PriorityNode< ObjectType > &object) const
 
- Public Member Functions inherited from LinkedObjectList
 LinkedObjectList ()
 
 LinkedObjectList (LinkedObject *object)
 
bool add (LinkedObject *object)
 
bool add (const LinkedObject *object)
 
bool insert (LinkedObject *object)
 
bool insert (const LinkedObject *object)
 
bool remove (LinkedObject *object)
 
LinkedObjectpop ()
 
void clear ()
 
LinkedObjecthead ()
 
const LinkedObjecthead () const
 
bool isEmpty () const
 

Additional Inherited Members

- Protected Attributes inherited from LinkedObjectList
LinkedObjectmHead {nullptr}
 

Member Typedef Documentation

◆ List

template<typename ObjectType >
using PriorityList< ObjectType >::List = OwnedLinkedObjectListTemplate<PriorityNode<ObjectType> >

Member Function Documentation

◆ add()

template<typename ObjectType >
bool PriorityList< ObjectType >::add ( ObjectType  object,
int  priority 
)
inline

Adds and element and orders it according to its priority. Order is: High to low.

Parameters
object
priority
Return values
booltrue on success

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