MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 CBaseTypes...
 Cstd::conditional_t
 CMcro::Any::FAnyA simplistic but type-safe and RAII compliant storage for anything. Enclosed data is owned by this type
 CMcro::UObjects::Init::FConstructObjectParametersMirror of FStaticConstructObjectParameters but it's a plain C++ object and doesn't have a constructor so designated initialization with named members is possible
 CFCopyConstructCounter
 CMcro::Error::FDisplayErrorArgsControl how an error is being displayed. Use C++ 20 designated initializers for convenience
 CMcro::Error::FErrorManagerGlobal facilities for IError handling, including displaying them to the user, trigger error events, etc
 CMcro::Delegates::FEventPolicySettings for the TEventDelegate class, which defines optional behavior when adding a binding to it
 CMcro::Range::FExtendedIteratorPolicyExtra settings for TExtendedIterator wrapper
 CMcro::Finally::FFinallySyntaxSupport
 CMcro::Text::Macros::FInvTextFakeLiteralTag
 CFMapPairsAccessTag
 CMcro::Text::Macros::FNameFakeLiteralTag
 CFNoncopyable
 CMcro::Once::FOnceUsed for lambdas which supposed to run only once. The first time it is converted to bool it returns true but every other times it will return false
 CMcro::Range::FRangeStringFormatOptions
 CMcro::Dll::FScopedDllRAII wrapper around GetDllHandle / FreeDllHandle
 CMcro::Dll::FScopedDllSetHandle multiple DLL files in one set and an optional base path for them
 CMcro::Dll::FScopedSearchPathRAII wrapper around PushDllDirectory / PopDllDirectory
 CMcro::Observable::FStatePolicyFlags expressing how TState should handle object comparison and lifespan
 CMcro::Text::Macros::FStdStringLiteralTag
 CMcro::Text::Macros::FStringFakeLiteralTag
 CMcro::Text::Macros::FStringViewFakeLiteralTag
 CMcro::TypeName::FTypeGroup together type info for identification. Can have an invalid state when no type is specified
 CFVoidThis struct may be used for situations where something needs to be returned but it's not meaningful to do so
 CMcro::Zero::FZeroA type which acts like a number, but it always returns another FZero for any operations and converting it to any scalar type yields 0. So if an FZero is found in a chain of operation the result will be always 0
 CMcro::AutoModularFeature::IAutoModularFeatureTagging an auto feature (DO NOT USE MANUALLY, inherited by TAutoModularFeature)
 CMcro::Composition::IComponentInherit from this empty interface to signal that the inheriting class knows that it's a component and that it can receive info about the composable class it is being registered to
 CMcro::Composition::IComposableA base class which can bring type based class-composition to a derived class
 CMcro::AutoModularFeature::IFeatureImplementationTagging an implementation of a feature
 CIModularFeature
 CIModuleInterface
 CMcro::Observable::IStateTag
 CMcro::Range::OutputTo< Target >Render a range to an already existing container
 CMcro::Range::OutputToMap< Target >Output a range of tuples or range of ranges with at least 2 elements to an already existing TMap
 CMcro::Templates::TTemplate< Template >::Parameters< T >
 CMcro::Templates::TTemplate< Template >::Parameters< Template< Params... > >
 CMcro::Templates::TTemplate< Template >::ParametersDecay< T >
 CMcro::Templates::TTemplate< Template >::ParametersDecay< Template< Params... > >
 Cstd::random_access_iterator_tag
 CMcro::Range::RenderAs< Target >Render a range as the given container
 CMcro::Range::RenderAsMapRender a range of tuples or range of ranges with at least 2 elements as a TMap
 CSCompoundWidget
 CMcro::Any::TAnyTypeFacilities< T >Give the opportunity to customize object lifespan operations for FAny by either specializing this template or just providing functors in-place
 CMcro::Slate::TArgumentsOf_S< T >
 CMcro::Slate::TArgumentsOf_S< T >
 CMcro::Text::TAsFormatArgument< T >
 CMcro::Text::TAsFormatArgument< FStdStringView >
 CMcro::Text::TAsFormatArgument< Operand >Convert Unreal/STL/Range-V3 tuples to string the following way: (Item0, Item1, Item2, ...)
 CMcro::Text::TAsFormatArgument< TStdString< CharType > >
 CMcro::Slate::TAttributeBlockFunctor< T >An attribute block functor which takes in reference of FArguments or FSlotArguments and returns the same reference but presumably setting some Slate attributes before that. This is useful for modularizing the Slate declarative syntax
 CMcro::Badge::TBadge< T >Use this template to give exclusive access to functions to specific classes
 CMcro::Observable::TChangeData< T >This struct holds the circumstances of the data change. It cannot be moved or copied and its lifespan is managed entirely by TState
 CMcro::FunctionTraits::TDeferFunctionArguments< FuncPtr, Function >Defers a set of arguments for a function call later with its first argument. This is useful for developing fluent API operators
 CMcro::FunctionTraits::TDeferFunctionArguments<&AsLocalizable_Advanced >
 CMcro::Delegates::TDynamicMethodPtr_Struct< typename >
 CMcro::Delegates::TDynamicMethodPtr_Struct< Dynamic >
 CMcro::Delegates::TDynamicSignature_Struct< typename >
 CMcro::Delegates::TDynamicSignature_Struct< Dynamic >
 CMcro::Delegates::TEventDelegate< Function, DefaultPolicy >"Extension" of a common TMulticastDelegate. It allows to define optional "flags" when adding a binding, in order to:
 CMcro::Delegates::TEventDelegate< void()>
 CMcro::Delegates::TEventDelegate< void(Args...), DefaultPolicy >"Extension" of a common TMulticastDelegate. It allows to define optional "flags" when adding a binding, in order to:
 CMcro::Delegates::TEventDelegate< void(Mcro::Observable::TChangeData< T > const &)>
 CMcro::Concepts::Detail::TExtractClassName< T >
 CMcro::Concepts::Detail::TExtractClassName< MemberType ClassType::* >
 CMcro::FunctionTraits::Detail::TFunctionFromTuple_Struct< Return, Tuple >
 CMcro::FunctionTraits::Detail::TFunctionMeta< ReturnIn, Args >
 CMcro::FunctionTraits::Detail::TFunctionMeta< ReturnIn, Args... >
 CMcro::FunctionTraits::TFunctionTraits< T >Get signature information about any function declaring type (function pointer or functor structs including lambda functions). It should be used in other templates
 CMcro::FunctionTraits::TFunctionTraits< decltype(&std::decay_t< T >::operator())>
 CMcro::InitializeOnCopy::TInitializeOnCopy< T >A type wrapper around a default initializeable object which may not be copyable but which needs to be a member of a copyable class. On each instance of such class the wrapped value may not need to be copied and default constructing it is enough. Useful for mutexes for example
 CMcro::InitializeOnCopy::TInitializeOnCopy< FCriticalSection >
 CMcro::InitializeOnCopy::TInitializeOnCopy< FRWLock >
 CTIteratorCategory
 CMcro::Range::TIteratorCompare_Struct< T >
 CMcro::Range::TIteratorCompare_Struct< T >
 CMcro::Range::TIteratorComputeDistance_Struct< T >
 CMcro::Range::TIteratorComputeDistance_Struct< T >
 CMcro::Range::TIteratorDifference_Struct< T >
 CMcro::Range::TIteratorDifference_Struct< T >
 CMcro::Range::TIteratorJumpBackward_Struct< T >
 CMcro::Range::TIteratorJumpBackward_Struct< T >
 CMcro::Range::TIteratorJumpForward_Struct< T >
 CMcro::Range::TIteratorJumpForward_Struct< T >
 CTMapBase< FMapPairsAccessTag, FMapPairsAccessTag, FMapPairsAccessTag, FMapPairsAccessTag >
 CMcro::Error::TMaybe< T >A TValueOrError alternative for IError which allows implicit conversion from values and errors (no need for MakeError or MakeValue) and is boolean testable. It also doesn't have ambiguous state such as TValueOrError has, so a TMaybe will always have either an error or a value, it will never have neither of them or both of them
 CMcro::Delegates::TNative_Struct< typename >
 CMcro::Delegates::TNative_Struct< Dynamic >
 CMcro::Delegates::TNativeEvent_Struct< Dynamic, DefaultPolicy >Map the input dynamic multicast delegate to a conceptually compatible native event delegate type
 CMcro::Modules::TObserveModule< M >Use this in global variables to automatically do things on module startup or shutdown
 CMcro::Range::Detail::TRangeWithStringFormat< Range >
 CMcro::Yaml::TScopedRegion< Begin, End >RAII friendly region annotation for YAML::Emitter streams
 CMcro::UObjects::Init::TScopeObject< T >A struct to emulate regular C++ RAII object behavior with UObjects. When this struct is instantiated the given object type is also created. An object wrapped in this struct is never invalid, and doesn't get garbage collected until it's in scope
 CTSharedFromThis
 CMcro::SharedObjects::TSharedStorage< T >A simple mutable shared storage of any value
 CMcro::Tuples::TSkip_Struct< Count, Tuple >
 CMcro::Slate::TSlots< Range, Transform, OnEmpty, CSlotArguments >Add multiple slots at the same time with the declarative syntax derived from an input data array
 CMcro::Text::Macros::TStringPrintfLiteral< Args >
 CMcro::TypeName::FType::TTag< T >
 CMcro::Tuples::TTake_Struct< Count, Tuple >
 CMcro::Templates::TTemplate< Template >Base struct containing traits of specified template (which only accepts type parameters)
 CMcro::Rendering::Textures::TTextureSize< SizeType, InFormatType >A simple texture size description which can be used for checking the need to recreate a texture resource
 CMcro::Tuples::TTrimEnd_Struct< Count, Tuple >
 CMcro::Tuples::TTypeAt_Struct< size_t, typename >
 CMcro::Tuples::TTypeAt_Struct< I, T >
 CMcro::Any::TTypes< T >This template is used in IComponent|FAny::With(TAlias<...>) so it can have deduced this type and explicit variadic template arguments when specifying multiple aliases
 CUObject