UPnP::Enumerator< ItemType, EnumeratorType > Class Template Referenceabstract

Abstract class to enumerate items. More...

#include <Enumerator.h>

Public Member Functions

virtual ~Enumerator ()
 
virtual EnumeratorType * clone ()=0
 Make a copy of this enumerator. More...
 
virtual void reset ()=0
 Reset enumerator to start of list. More...
 
virtual ItemType * current ()=0
 Get the current item. More...
 
virtual ItemType * next ()=0
 Get next item. More...
 

Detailed Description

template<typename ItemType, class EnumeratorType>
class UPnP::Enumerator< ItemType, EnumeratorType >

Abstract class to enumerate items.

Note
Returned items may only be considered valid for the duration of the current task call as they may be destroyed at any time.

todo: We want a generic enumerator which returns Items, uses virtual methods so no upcasting required

Constructor & Destructor Documentation

◆ ~Enumerator()

template<typename ItemType , class EnumeratorType >
virtual UPnP::Enumerator< ItemType, EnumeratorType >::~Enumerator ( )
inlinevirtual

Member Function Documentation

◆ clone()

template<typename ItemType , class EnumeratorType >
virtual EnumeratorType* UPnP::Enumerator< ItemType, EnumeratorType >::clone ( )
pure virtual

Make a copy of this enumerator.

Note
Each copy maintains position independently

Implemented in UPnP::ItemEnumerator, and Hue::DeviceListEnumerator.

◆ current()

template<typename ItemType , class EnumeratorType >
virtual ItemType* UPnP::Enumerator< ItemType, EnumeratorType >::current ( )
pure virtual

Get the current item.

Return values
Item*nullptr if before start or at end of list

Implemented in UPnP::ItemEnumerator, and Hue::DeviceListEnumerator.

◆ next()

template<typename ItemType , class EnumeratorType >
virtual ItemType* UPnP::Enumerator< ItemType, EnumeratorType >::next ( )
pure virtual

Get next item.

Return values
Item*nullptr if no more devices

Implemented in UPnP::ItemEnumerator, and Hue::DeviceListEnumerator.

◆ reset()

template<typename ItemType , class EnumeratorType >
virtual void UPnP::Enumerator< ItemType, EnumeratorType >::reset ( )
pure virtual

Reset enumerator to start of list.

Note
Call to next() will return first item

Implemented in UPnP::ItemEnumerator, and Hue::DeviceListEnumerator.


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