MCRO
C++23 utilities for Unreal Engine.
|
Data Structures | |
struct | TArgumentsOf_S |
struct | TArgumentsOf_S< T > |
struct | TSlots |
Concepts | |
concept | CWidget |
concept | CSlot |
concept | CWidgetOrSlot |
concept | CWidgetOrSlotArguments |
concept | CWidgetArguments |
concept | CSlotArguments |
concept | CWidgetWithSlots |
Typedefs | |
template<typename T > | |
using | TArgumentsOf = typename TArgumentsOf_S<T>::Type |
template<CWidgetOrSlot T> | |
using | TAttributeBlock = TUniqueFunction<TArgumentsOf<T>&(TArgumentsOf<T>&)> |
template<CWidgetOrSlot T> | |
using | TAttributeBlockCopyable = TFunction<TArgumentsOf<T>&(TArgumentsOf<T>&)> |
Functions | |
template<CWidgetOrSlotArguments Arguments, CFunctionLike AttrBlock> requires ( TFunction_ArgCount<AttrBlock> == 1 && CSameAs<Arguments&, TFunction_Arg<AttrBlock, 0>> ) | |
TFunction_Return< AttrBlock > | operator/ (Arguments &args, const AttrBlock &attributes) |
template<CWidgetOrSlotArguments Arguments, CFunctionLike AttrBlock> requires ( TFunction_ArgCount<AttrBlock> == 1 && CSameAs<Arguments&, TFunction_Arg<AttrBlock, 0>> ) | |
TFunction_Return< AttrBlock > | operator/ (Arguments &&args, const AttrBlock &attributes) |
template<CRange Range, CFunctionLike Transform, CFunctionLike OnEmpty, CSlotArguments SlotArguments, CWidgetArguments Arguments> | |
Arguments & | operator+ (Arguments &args, TSlots< Range, Transform, OnEmpty, SlotArguments > &&slots) |
MCRO_API EVisibility | IsVisible (bool visible, EVisibility hiddenState=EVisibility::Collapsed) |
Variables | |
template<CWidgetOrSlot T> | |
TAttributeBlock< T > | InertAttributeBlock = [](TArgumentsOf<T>& args) -> auto& { return args; } |
Extra functionalities for general Slate programming chores, including enhancements of the Slate declarative syntax
using Mcro::Slate::TArgumentsOf = typename TArgumentsOf_S<T>::Type |
using Mcro::Slate::TAttributeBlock = TUniqueFunction<TArgumentsOf<T>&(TArgumentsOf<T>&)> |
using Mcro::Slate::TAttributeBlockCopyable = TFunction<TArgumentsOf<T>&(TArgumentsOf<T>&)> |
MCRO_API EVisibility Mcro::Slate::IsVisible | ( | bool | visible, |
EVisibility | hiddenState = EVisibility::Collapsed ) |
Arguments & Mcro::Slate::operator+ | ( | Arguments & | args, |
TSlots< Range, Transform, OnEmpty, SlotArguments > && | slots ) |
TFunction_Return< AttrBlock > Mcro::Slate::operator/ | ( | Arguments && | args, |
const AttrBlock & | attributes ) |
The "append attribute block" operator which allows pre-defined "blocks of slate attributes" naturally fit inside the Slate declarative syntax. Traditionally repeated structures in Slate were expressed as either explicit mutations on widgets after they were created or as entirely separate compound widgets. Either way breaks the flow of the declarative syntax and makes using Slate sometimes pretty clunky. This operator aims to make widget composition more comfortable.
Arguments | Right hand side FArguments or FSlotArguments |
AttrBlock | The type of the attribute block function |
args | r-value reference right hand side FArguments or FSlotArguments |
attributes | An attribute block function |
TFunction_Return< AttrBlock > Mcro::Slate::operator/ | ( | Arguments & | args, |
const AttrBlock & | attributes ) |
The "append attribute block" operator which allows pre-defined "blocks of slate attributes" naturally fit inside the Slate declarative syntax. Traditionally repeated structures in Slate were expressed as either explicit mutations on widgets after they were created or as entirely separate compound widgets. Either way breaks the flow of the declarative syntax and makes using Slate sometimes pretty clunky. This operator aims to make widget composition more comfortable.
Arguments | Right hand side FArguments or FSlotArguments |
AttrBlock | The type of the attribute block function |
args | l-value reference right hand side FArguments or FSlotArguments |
attributes | An attribute block function |
TAttributeBlock<T> Mcro::Slate::InertAttributeBlock = [](TArgumentsOf<T>& args) -> auto& { return args; } |