Menu
Lumberyard
C++ API Reference (Version 1.10)

AZ::BusInternal::EBusEventer< Bus, Traits > Struct Template Reference

Dispatches events to handlers that are connected to a specific address on an EBus. More...

Inherited by AZ::BusInternal::EBusImpl< Bus, Traits, BusIdType >.

Public Types

using BusIdType
 The type of ID that is used to address the EBus. More...
 
using BusPtr
 Pointer to an address on the bus. More...
 

Static Public Member Functions

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...
 

Detailed Description

template<class Bus, class Traits>
struct AZ::BusInternal::EBusEventer< Bus, Traits >

Dispatches events to handlers that are connected to a specific address on an EBus.

Template Parameters
BusThe EBus type.
TraitsA class that inherits from EBusTraits and configures the EBus. This parameter may be left unspecified if the Interface class inherits from EBusTraits.

Member Typedef Documentation

◆ BusIdType

template<class Bus, class Traits>
using AZ::BusInternal::EBusEventer< Bus, Traits >::BusIdType = typename Traits::BusIdType

The type of ID that is used to address the EBus.

Used only when the address policy is AZ::EBusAddressPolicy::ById or AZ::EBusAddressPolicy::ByIdAndOrdered. The type must support AZStd::hash<ID> and bool operator==(const ID&, const ID&).

◆ BusPtr

template<class Bus, class Traits>
using AZ::BusInternal::EBusEventer< Bus, Traits >::BusPtr = typename Traits::BusPtr

Pointer to an address on the bus.

Member Function Documentation

◆ Event() [1/2]

template<class Bus , class Traits >
template<class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::Event ( const BusIdType id,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a specific address.

Parameters
idAddress ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ Event() [2/2]

template<class Bus , class Traits >
template<class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::Event ( const BusPtr ptr,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a cached address.

Parameters
ptrCached address ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ EventResult() [1/2]

template<class Bus , class Traits >
template<class Results , class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::EventResult ( Results &  results,
const BusIdType id,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a specific address and receives results.

Parameters
[out]resultsReturn value from the event.
idAddress ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ EventResult() [2/2]

template<class Bus , class Traits >
template<class Results , class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::EventResult ( Results &  results,
const BusPtr ptr,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a cached address and receives results.

Parameters
[out]resultsReturn value from the event.
ptrCached address ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ EventResultReverse() [1/2]

template<class Bus , class Traits >
template<class Results , class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::EventResultReverse ( Results &  results,
const BusIdType id,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a specific address in reverse order and receives results.

Parameters
[out]resultsReturn value from the event.
idAddress ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ EventResultReverse() [2/2]

template<class Bus , class Traits >
template<class Results , class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::EventResultReverse ( Results &  results,
const BusPtr ptr,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a cached address in reverse order and receives results.

Parameters
[out]resultsReturn value from the event.
ptrCached address ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ EventReverse() [1/2]

template<class Bus , class Traits >
template<class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::EventReverse ( const BusIdType id,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a specific address in reverse order.

Parameters
idAddress ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

◆ EventReverse() [2/2]

template<class Bus , class Traits >
template<class Function , class ... InputArgs>
void AZ::BusInternal::EBusEventer< Bus, Traits >::EventReverse ( const BusPtr ptr,
Function  func,
InputArgs &&...  args 
)
inlinestatic

Dispatches an event to handlers at a cached address in reverse order.

Parameters
ptrCached address ID. Handlers that are connected to this ID will receive the event.
funcFunction pointer of the event to dispatch.
argsFunction arguments that are passed to each handler.

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