Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
EventList< Event, Compare >final

#include "eventlist.hh"

Public Types

usingCIter = typename EventVector::const_iterator
usingNotify = std::function< void(const Event &event, int mod)>

Public Member Functions

CIterbegin () const
voidclear_silently ()
EventVectorcopy () const
CIterend () const
boolequals (const EventVector &ev) const
EventList (const Notify &n={}, const Compare &c={})
const Event *first () const
boolinsert (const Event &event, Event *replaced=nullptr)
const Event *last () const
const Event *lookup (const Event &event) const
const Event *lookup_after (const Event &event) const
template<class OrderedEventList >
OrderedEventList::ConstPordered_events ()
boolremove (const Event &event, Event *removed=nullptr)
boolreplace (const Event &event, Event *replaced=nullptr)
size_tsize () const

Detailed Description

template<class Event, class Compare>
class Ase::EventList< Event, Compare >

Maintain an array of unique `Event` structures with change notification.

Member Typedef Documentation

Notify

template<class Event , class Compare >
using Notify = std::function<void (const Event &event, int mod)>

CIter

template<class Event , class Compare >
using CIter = typename EventVector::const_iterator

Constructor & Destructor Documentation

EventList()

template<class Event , class Compare >
EventList ( const Notify & n = {},
const Compare & c = {}
)
explicit

Member Function Documentation

insert()

template<class Event , class Compare >
bool insert ( const Event & event,
Event * replaced = nullptr
)

replace()

template<class Event , class Compare >
bool replace ( const Event & event,
Event * replaced = nullptr
)

Insert or replace `event`, notifies.

remove()

template<class Event , class Compare >
bool remove ( const Event & event,
Event * removed = nullptr
)

Only replace `event`, notifies.

lookup()

template<class Event , class Compare >
const Event * lookup ( const Event & event) const

Return true if `event` was removed, notifies.

lookup_after()

template<class Event , class Compare >
const Event * lookup_after ( const Event & event) const

Return pointer to matching `event` or nullptr.

first()

template<class Event , class Compare >
const Event * first ( ) const

Return pointer to element that is >= `event` or nullptr.

last()

template<class Event , class Compare >
const Event * last ( ) const

Return first element or nullptr.

size()

template<class Event , class Compare >
size_t size ( ) const

Return last element or nullptr.

clear_silently()

template<class Event , class Compare >
void clear_silently ( )

Return the numberof elements.

ordered_events()

template<class Event , class Compare >
template<class OrderedEventList >
OrderedEventList::ConstP ordered_events ( )

Clear list without notification.

begin()

template<class Event , class Compare >
CIter begin ( ) const

Create a read-only copy of this EventList (possibly cached).

end()

template<class Event , class Compare >
CIter end ( ) const

Const iterator that points to the first element.

copy()

template<class Event , class Compare >
EventVector copy ( ) const

Const iterator that points one past the last element.

equals()

template<class Event , class Compare >
bool equals ( const EventVector & ev) const