Menu
Lumberyard
C++ API Reference (Version 1.10)

AZ::BusInternal::EBusEventer< Bus, Traits > 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.

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

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
)
inline static

Dispatches an event to handlers at a specific address.

Parameters
id Address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

Dispatches an event to handlers at a cached address.

Parameters
ptr Cached address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

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

Parameters
[out] results Return value from the event.
id Address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

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

Parameters
[out] results Return value from the event.
ptr Cached address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

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

Parameters
[out] results Return value from the event.
id Address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

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

Parameters
[out] results Return value from the event.
ptr Cached address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

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

Parameters
id Address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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
)
inline static

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

Parameters
ptr Cached address ID. Handlers that are connected to this ID will receive the event.
func Function pointer of the event to dispatch.
args Function 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