MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
EventDelegate.h File Reference
#include "CoreMinimal.h"
#include "Mcro/FunctionTraits.h"
#include "Mcro/InitializeOnCopy.h"
#include "Mcro/Delegates/AsNative.h"
#include "Mcro/Delegates/DelegateFrom.h"

Go to the source code of this file.

Data Structures

struct  Mcro::Delegates::FEventPolicy
 Settings for the TEventDelegate class, which defines optional behavior when adding a binding to it. More...
 
class  Mcro::Delegates::TEventDelegate< Function, DefaultPolicy >
 "Extension" of a common TMulticastDelegate. It allows to define optional "flags" when adding a binding, in order to: More...
 
class  Mcro::Delegates::TEventDelegate< void(Args...), DefaultPolicy >
 "Extension" of a common TMulticastDelegate. It allows to define optional "flags" when adding a binding, in order to: More...
 
struct  Mcro::Delegates::TNativeEvent_Struct< Dynamic, DefaultPolicy >
 Map the input dynamic multicast delegate to a conceptually compatible native event delegate type. More...
 

Namespaces

namespace  Mcro
 
namespace  Mcro::Delegates
 

Typedefs

template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TRetainingEventDelegate = TEventDelegate<Signature, DefaultPolicy.With({.CacheViaCopy = true})>
 Shorthand alias for TEventDelegate which copies arguments to its cache regardless of their qualifiers.
 
template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TBelatedEventDelegate = TEventDelegate<Signature, DefaultPolicy.With({.Belated = true})>
 Shorthand alias for TEventDelegate which broadcasts listeners immediately once they're added.
 
template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TBelatedRetainingEventDelegate = TEventDelegate<Signature, DefaultPolicy.With({.Belated = true, .CacheViaCopy = true})>
 Shorthand alias for combination of TRetainingEventDelegate and TBelatedEventDelegate.
 
template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TOneTimeEventDelegate = TEventDelegate<Signature, DefaultPolicy.With({.Once = true})>
 Shorthand alias for TEventDelegate which broadcasts listeners only once and then they're removed.
 
template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TOneTimeRetainingEventDelegate = TEventDelegate<Signature, DefaultPolicy.With({.Once = true, .CacheViaCopy = true})>
 Shorthand alias for combination of TRetainingEventDelegate and TOneTimeEventDelegate.
 
template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TOneTimeBelatedEventDelegate = TEventDelegate<Signature, DefaultPolicy.With({.Once = true, .Belated = true})>
 Shorthand alias for combination of TBelatedEventDelegate and TOneTimeEventDelegate.
 
template<typename Signature , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TOneTimeRetainingBelatedEventDelegate
 Collect'em all.
 
template<typename Dynamic , FEventPolicy DefaultPolicy = {}>
using Mcro::Delegates::TNativeEvent = typename TNativeEvent_Struct<Dynamic, DefaultPolicy>::Type
 Map the input dynamic multicast delegate to a conceptually compatible native event delegate type.
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file EventDelegate.h.