OwnedLinkedObjectListTemplate< ObjectType > Class Template Reference

Class template for singly-linked list of objects. More...

#include <LinkedObjectList.h>

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

Public Member Functions

 OwnedLinkedObjectListTemplate ()=default
 
 OwnedLinkedObjectListTemplate (const OwnedLinkedObjectListTemplate &other)=delete
 
OwnedLinkedObjectListTemplateoperator= (const OwnedLinkedObjectListTemplate &other)=delete
 
 ~OwnedLinkedObjectListTemplate ()
 
bool remove (ObjectType *object)
 
void clear ()
 
- Public Member Functions inherited from LinkedObjectListTemplate< ObjectType >
 LinkedObjectListTemplate ()=default
 
 LinkedObjectListTemplate (ObjectType *object)
 
ObjectType * head ()
 
const ObjectType * head () const
 
Iterator begin ()
 
Iterator end ()
 
ConstIterator begin () const
 
ConstIterator end () const
 
bool add (ObjectType *object)
 
bool add (const ObjectType *object)
 
bool insert (ObjectType *object)
 
bool insert (const ObjectType *object)
 
ObjectType * pop ()
 
size_t count () const
 
bool contains (const 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

- Public Types inherited from LinkedObjectListTemplate< ObjectType >
using Iterator = typename LinkedObjectTemplate< ObjectType >::template IteratorTemplate< ObjectType, ObjectType *, ObjectType & >
 
using ConstIterator = typename LinkedObjectTemplate< ObjectType >::template IteratorTemplate< const ObjectType, const ObjectType *, const ObjectType & >
 
- Protected Attributes inherited from LinkedObjectList
LinkedObjectmHead {nullptr}
 

Detailed Description

template<typename ObjectType>
class OwnedLinkedObjectListTemplate< ObjectType >

Class template for singly-linked list of objects.

Note
We own the objects so are responsible for destroying them when removed

Constructor & Destructor Documentation

◆ OwnedLinkedObjectListTemplate() [1/2]

template<typename ObjectType >
OwnedLinkedObjectListTemplate< ObjectType >::OwnedLinkedObjectListTemplate ( )
default

◆ OwnedLinkedObjectListTemplate() [2/2]

template<typename ObjectType >
OwnedLinkedObjectListTemplate< ObjectType >::OwnedLinkedObjectListTemplate ( const OwnedLinkedObjectListTemplate< ObjectType > &  other)
delete

◆ ~OwnedLinkedObjectListTemplate()

template<typename ObjectType >
OwnedLinkedObjectListTemplate< ObjectType >::~OwnedLinkedObjectListTemplate ( )
inline

Member Function Documentation

◆ clear()

template<typename ObjectType >
void OwnedLinkedObjectListTemplate< ObjectType >::clear ( )
inline

◆ operator=()

template<typename ObjectType >
OwnedLinkedObjectListTemplate& OwnedLinkedObjectListTemplate< ObjectType >::operator= ( const OwnedLinkedObjectListTemplate< ObjectType > &  other)
delete

◆ remove()

template<typename ObjectType >
bool OwnedLinkedObjectListTemplate< ObjectType >::remove ( ObjectType *  object)
inline

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