Menu
Lumberyard
C++ API Reference (Version 1.10)

AZ::BusInternal::EBusImpl< Bus, Traits, BusIdType > Struct Template Reference

Open 3D Engine (O3DE), the successor to Lumberyard, is now available in Developer Preview. Download O3DE or visit the AWS Game Tech blog to learn more.

Base class that provides eventing, queueing, and enumeration functionality for EBuses that dispatch events to handlers. More...

Inherits AZ::BusInternal::EBusBroadcaster< Bus, Traits > , AZ::BusInternal::EBusEventer< Bus, Traits > , AZ::BusInternal::EBusEventEnumerator< Bus, Traits > , and type< Traits::EnableEventQueue, EBusEventQueue< Bus, Traits >, EBusNullQueue >.

Additional Inherited Members

- Public Types inherited from AZ::BusInternal::EBusBroadcaster< Bus, Traits >
using BusPtr = typename Traits::BusPtr
Pointer to an address on the bus. More...
- Public Types inherited from AZ::BusInternal::EBusEventer< Bus, Traits >
using BusIdType = typename Traits::BusIdType
The type of ID that is used to address the EBus . More...
using BusPtr = typename Traits::BusPtr
Pointer to an address on the bus. More...
- Public Types inherited from AZ::BusInternal::EBusEventEnumerator< Bus, Traits >
using BusIdType = typename Traits::BusIdType
The type of ID that is used to address the EBus . More...
using BusPtr = typename Traits::BusPtr
Pointer to an address on the bus. More...
- Static Public Member Functions inherited from AZ::BusInternal::EBusBroadcaster< Bus, Traits >
template<class Function , class ... InputArgs>
static void Broadcast (Function func, InputArgs &&... args)
Dispatches an event to all handlers. More...
template<class Results , class Function , class ... InputArgs>
static void BroadcastResult (Results &results, Function func, InputArgs &&... args)
Dispatches an event to all handlers and receives results. More...
template<class Function , class ... InputArgs>
static void BroadcastReverse (Function func, InputArgs &&... args)
Dispatches an event to all handlers in reverse order. More...
template<class Results , class Function , class ... InputArgs>
static void BroadcastResultReverse (Results &results, Function func, InputArgs &&... args)
Dispatches an event to all handlers in reverse order and receives results. More...
- Static Public Member Functions inherited from AZ::BusInternal::EBusEventer< Bus, Traits >
template<class Function , class ... InputArgs>
static void Event (const BusIdType &id, Function func, InputArgs &&... args)
Dispatches an event to handlers at a specific address. More...
template<class Results , class Function , class ... InputArgs>
static void EventResult (Results &results, const BusIdType &id, Function func, InputArgs &&... args)
Dispatches an event to handlers at a specific address and receives results. More...
template<class Function , class ... InputArgs>
static void Event (const BusPtr &ptr, Function func, InputArgs &&... args)
Dispatches an event to handlers at a cached address. More...
template<class Results , class Function , class ... InputArgs>
static void EventResult (Results &results, const BusPtr &ptr, Function func, InputArgs &&... args)
Dispatches an event to handlers at a cached address and receives results. More...
template<class Function , class ... InputArgs>
static void EventReverse (const BusIdType &id, Function func, InputArgs &&... args)
Dispatches an event to handlers at a specific address in reverse order. More...
template<class Results , class Function , class ... InputArgs>
static void EventResultReverse (Results &results, const BusIdType &id, Function func, InputArgs &&... args)
Dispatches an event to handlers at a specific address in reverse order and receives results. More...
template<class Function , class ... InputArgs>
static void EventReverse (const BusPtr &ptr, Function func, InputArgs &&... args)
Dispatches an event to handlers at a cached address in reverse order. More...
template<class Results , class Function , class ... InputArgs>
static void EventResultReverse (Results &results, const BusPtr &ptr, Function func, InputArgs &&... args)
Dispatches an event to handlers at a cached address in reverse order and receives results. More...
- Static Public Member Functions inherited from AZ::BusInternal::EBusEventEnumerator< Bus, Traits >
template<class Callback >
static void EnumerateHandlers (Callback callback)
Calls a user-defined function on all handlers that are connected to the EBus . More...
template<class Callback >
static void EnumerateHandlersId (const BusIdType &id, Callback callback)
Calls a user-defined function on handlers that are connected to a specific address on the EBus . More...
template<class Callback >
static void EnumerateHandlersPtr (const BusPtr &ptr, Callback callback)
Calls a user-defined function on handlers at a cached address. More...
static Traits::InterfaceType * FindFirstHandler (const BusIdType &id)
Finds the first handler that is connected to a specific address on the EBus . More...
static Traits::InterfaceType * FindFirstHandler (const BusPtr &ptr)
Finds the first handler at a cached address on the EBus . More...
static size_t GetNumOfEventHandlers (const BusIdType &id)
Returns the total number of event handlers that are connected to a specific address on the EBus . More...

Detailed Description

template<class Bus, class Traits, class BusIdType>
struct AZ::BusInternal::EBusImpl< Bus, Traits, BusIdType >

Base class that provides eventing, queueing, and enumeration functionality for EBuses that dispatch events to handlers.

Supports accessing handlers that are connected to specific addresses.

Template Parameters
Bus The EBus type.
Traits A class that inherits from EBusTraits and configures the EBus . This parameter may be left unspecified if the Interface class inherits from EBusTraits .
BusIdType The type of ID that is used to address the EBus .

The documentation for this struct was generated from the following file:
  • C:/lumberyard-root/dev/Code/Framework/AzCore/AzCore/EBus/ BusImpl.h