![]() |
MCRO
C++23 utilities for Unreal Engine.
|
| CMcroBuild.AbsolutePathExtensions | The API NUKE has for AbsolutePath relies heavily on extension methods. In fact if file system operations are expressed with extension methods to AbsolutePath it can yield code which is much more comfortable to write |
| ►CBaseTypes... | |
| ►Cstd::conditional_t | |
| CMcro::Ansi::FAllocator | Allocator that allocates memory using standard library functions |
| CMcro::Any::FAny | A simplistic but type-safe and RAII compliant storage for anything. Enclosed data is owned by this type |
| CMcro::UObjects::Init::FConstructObjectParameters | Mirror 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::FDisplayErrorArgs | Control how an error is being displayed. Use C++ 20 designated initializers for convenience |
| CMcro::Error::FErrorManager | Global facilities for IError handling, including displaying them to the user, trigger error events, etc |
| CMcro::Delegates::FEventPolicy | Settings for the TEventDelegate class, which defines optional behavior when adding a binding to it |
| CMcro::Range::FExtendedIteratorPolicy | Extra settings for TExtendedIterator wrapper |
| CMcro::Finally::FFinallySyntaxSupport | |
| CMcro::Text::Macros::FInvTextFakeLiteralTag | |
| CFMapPairsAccessTag | |
| CMcro::Text::Macros::FNameFakeLiteralTag | |
| ►CFNoncopyable | |
| CMcro::Modules::TModuleBoundObject< M, T >::FObjectFactory | |
| CMcro::Modules::FObserveModuleListener | A record for the module event listeners |
| CMcro::Once::FOnce | Used 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::Ansi::FAllocator::ForAnyElementType | |
| CMcro::Range::FRangeStringFormatOptions | |
| CMcro::Dll::FScopedDll | RAII wrapper around GetDllHandle / FreeDllHandle |
| CMcro::Dll::FScopedDllSet | Handle multiple DLL files in one set and an optional base path for them |
| CMcro::Dll::FScopedSearchPath | RAII wrapper around PushDllDirectory / PopDllDirectory |
| CMcro::Observable::FStatePolicy | Flags expressing how TState should handle object comparison and lifespan |
| CMcro::Text::Macros::FStdStringLiteralTag | |
| CMcro::Text::Macros::FStringFakeLiteralTag | |
| CMcro::Text::Macros::FStringViewFakeLiteralTag | |
| CMcro::TypeInfo::FType | Group together type info for identification. Can have an invalid state when no type is specified |
| CMcro::ValueThunk::FValueThunkOptions | Options for value thunks |
| CFVoid | This struct may be used for situations where something needs to be returned but it's not meaningful to do so |
| CMcro::Zero::FZero | A 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::IAutoModularFeature | Tagging an auto feature (DO NOT USE MANUALLY, inherited by TAutoModularFeature) |
| ►CMcro::Composition::IComponent | Inherit 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::IComposable | A base class which can bring type based class-composition to a derived class |
| CMcro::AutoModularFeature::IFeatureImplementation | Tagging an implementation of a feature |
| ►CIFormattable | |
| ►CMcro::Types::IHaveType | A barebones base class for types which may store their type-name as a string |
| ►CIModularFeature | |
| ►CIModuleInterface | |
| ►CMcro::Observable::IStateTag | |
| CMcroBuild.ModuleRuleExtensions | Convenience utilities for module rules |
| ►CModuleRules | |
| 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... > > | |
| CMcroBuild.PathUtils | Support utilities for AbsolutePath |
| ►Cstd::random_access_iterator_tag | |
| CMcro::Range::RenderAs< Target > | Render a range as the given container |
| CMcro::Range::RenderAsMap | Render a range of tuples or range of ranges with at least 2 elements as a TMap |
| CMcroBuild.RuntimeDependencies | Model for reading a collection of runtime dependencies gathered by an external tool into an XML document |
| CMcroBuild.RuntimeDependency | Model for one runtime dependency |
| ►CSCompoundWidget | |
| ►CTAllocatorTraitsBase | |
| 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_Struct< T > | |
| CMcro::Slate::TArgumentsOf_Struct< 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 > | |
| CMcro::Templates::TIsTypeList_Struct< T > | |
| CMcro::Templates::TIsTypeList_Struct< TTypes< T... > > | |
| ►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::Modules::TModuleBoundObject< M, T > | A wrapper around a given object which lifespan is bound to given module |
| ►CMcro::Modules::TModuleBoundObject< M, FScopedDllSet > | |
| 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 > | |
| ►CDetail::TReactiveWidgetBase< Item, TArray< Item >, SWidget, SWidget, TArray< TSharedRef< SWidget > >, int32 > | |
| ►CDetail::TReactiveWidgetBase< Item, TMap< Key, Item >, SWidget, SWidget, TMap< Key, TSharedRef< SWidget > >, Key > | |
| 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 |
| ►CTSetAllocator | |
| ►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::TypeInfo::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::Templates::TTupleSafeElement_Struct< I, T > | |
| CMcro::Templates::TTupleSafeElement_Struct< I, TTuple< T... > > | |
| CMcro::Tuples::TTypeAt_Struct< size_t, typename > | |
| CMcro::Tuples::TTypeAt_Struct< I, T > | |
| CMcro::Templates::Detail::TTypeAtPack_Impl< I, First, Rest > | |
| CMcro::Templates::Detail::TTypeAtPack_Impl< 0, First, Rest... > | |
| CMcro::Templates::TTypeAtPack_Struct< I, T > | |
| CMcro::Templates::TTypeAtPack_Struct< I > | |
| CMcro::Templates::TTypes< T > | This template is used to store pack of types in other templates, or to allow parameter pack inference for functions. This template may be referred to as 'type-list' in other parts of the documentation |
| CMcro::ValueThunk::TValueThunk< T > | Either a singular value of T, or a function returning T. It's very similar to TAttribute, however it doesn't rely on delegates, and has implicit conversions. TValueThunk owns its wrapped value |
| ►CUObject |