vkmEngine 1.0.0
A C++ game engine · vkmengine.com
Loading...
Searching...
No Matches
Vkm::Engine::IBus Class Referenceabstract

The type-erased base EventBus holds each per-type Bus as. More...

#include <bus.h>

Inheritance diagram for Vkm::Engine::IBus:
Vkm::Engine::Bus< EventT >

Public Member Functions

virtual void takeQueue ()=0
 Set this bus's queued events aside, ready to be delivered.
virtual void deliver ()=0
 Deliver what takeQueue set aside, to this bus's listeners.
virtual bool hasListeners () const =0
 Whether anything is still listening on this bus.

Detailed Description

The type-erased base EventBus holds each per-type Bus as.

Member Function Documentation

◆ takeQueue()

virtual void Vkm::Engine::IBus::takeQueue ( )
pure virtual

Set this bus's queued events aside, ready to be delivered.

Split from deliver so every bus is drained before any listener runs; otherwise a listener's enqueue would go out this flush or the next depending on bus order.

Implemented in Vkm::Engine::Bus< EventT >.

◆ hasListeners()

virtual bool Vkm::Engine::IBus::hasListeners ( ) const
pure virtual

Whether anything is still listening on this bus.

See EventBus::dropIdleBuses().

Returns
True while at least one live listener remains.

Implemented in Vkm::Engine::Bus< EventT >.


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