observer::PriorityList< T, Storage, Compare > Class Template Reference

#include <observer.h>

List of all members.

Public Types

typedef Storage::const_iterator const_iterator

Public Member Functions

const_iterator begin () const
const_iterator end () const
const_iterator find (const T &value) const
void insert (const T &value)
void erase (const T &value)
size_t size () const

Private Attributes

Storage c
Compare comp

Detailed Description

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
class observer::PriorityList< T, Storage, Compare >

Storage with sorted elements according priority.

Template T parameter stands for stored element type, Storage is type of underlying container type which is used for element storing - it has to provide push_back and erase methods, const_iterator and iterator types. Compare is functor for priority comparing (it should conform stric weak ordering comparision).
Given T has to provide getPriority method.


Member Typedef Documentation

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
typedef Storage::const_iterator observer::PriorityList< T, Storage, Compare >::const_iterator

Type for constant iterator.


Member Function Documentation

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
const_iterator observer::PriorityList< T, Storage, Compare >::begin (  )  const [inline]

Returns iterator for first element in queue. Iterator points to element with highest priority.

Referenced by observer::ObserverHandler< CPage >::dumpObservers(), observer::PriorityList< Observer >::find(), and observer::ObserverHandler< CPage >::notifyObservers().

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
const_iterator observer::PriorityList< T, Storage, Compare >::end (  )  const [inline]
template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
void observer::PriorityList< T, Storage, Compare >::erase ( const T &  value  )  [inline]

Removes given value from list.

Parameters:
value Value to remove.

Removes element from container and keeps priority ordering for other elements.

Referenced by observer::ObserverHandler< CPage >::unregisterObserver().

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
const_iterator observer::PriorityList< T, Storage, Compare >::find ( const T &  value  )  const [inline]

Returns constant itetor to element with same value.

Parameters:
value Value to find.
Returns:
const_iterator for given value.

Referenced by observer::ObserverHandler< CPage >::registerObserver(), and observer::ObserverHandler< CPage >::unregisterObserver().

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
void observer::PriorityList< T, Storage, Compare >::insert ( const T &  value  )  [inline]

Inserts new value to the storage.

Parameters:
value Value to insert.

Inserts new element to the storage and sorts it by std::sort function.

Referenced by observer::ObserverHandler< CPage >::registerObserver().

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
size_t observer::PriorityList< T, Storage, Compare >::size (  )  const [inline]

Returns number of registered elements.

Returns:
number of elements.

Referenced by observer::ObserverHandler< CPage >::dumpObservers(), pdfobjects::CAnnotation::~CAnnotation(), and pdfobjects::utils::IPdfWriter::~IPdfWriter().


Member Data Documentation

template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
Storage observer::PriorityList< T, Storage, Compare >::c [private]
template<typename T, typename Storage = std::vector<T>, typename Compare = PriorityComparator<T>>
Compare observer::PriorityList< T, Storage, Compare >::comp [private]

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