MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
Mcro::Types::IHaveTypeShareable Class Reference

Shorthand for combination of IHaveType and TSharedFromThis More...

#include <Types.h>

Inheritance diagram for Mcro::Types::IHaveTypeShareable:
Mcro::Types::IHaveType Mcro::Error::IError Mcro::Error::FAssertion Mcro::Error::FCppException Mcro::Error::FUnavailable Mcro::Error::IPlainTextComponent Mcro::Windows::Error::FHresultError Mcro::Windows::Error::FLastError Mcro::Error::TCppException< Exception > Mcro::Error::FBlueprintStackTrace Mcro::Error::FCppStackTrace

Additional Inherited Members

- Public Types inherited from Mcro::Types::IHaveType
template<typename Self >
using SelfRef = TSharedRef<std::decay_t<Self>>
 
- Public Member Functions inherited from Mcro::Types::IHaveType
virtual ~IHaveType ()=default
 
template<CSharedFromThis Self>
SelfRef< Self > WithType (this Self &&self)
 Fluent API for setting tpye for deferred initialization (for example in factory functions)
 
template<typename Self >
requires (!CSharedFromThis<Self>)
Self && WithType (this Self &&self)
 Fluent API for setting tpye for deferred initialization (for example in factory functions)
 
FORCEINLINE FType const & GetType () const
 
FORCEINLINE FName const & GetTypeFName () const
 
FORCEINLINE FString GetTypeString () const
 
template<typename Derived , CSharedFromThis Self>
TSharedPtr< Derived > As (this Self &&self)
 Dynamic casting of this object to a derived top-level type. Casting also works if inheritance is done through TInherit template.
 
template<typename Derived , typename Self >
requires (!CSharedFromThis<Self>)
Derived * As (this Self &&self)
 Dynamic casting of this object to a derived top-level type. Casting also works if inheritance is done through TInherit template.
 
- Protected Member Functions inherited from Mcro::Types::IHaveType
template<typename Self >
void SetType (this Self &&self)
 This function needs to be called on top level derived type for runtime reflection to work.
 
- Protected Attributes inherited from Mcro::Types::IHaveType
FName TypeName
 
FType TypeInfo
 

Detailed Description

Shorthand for combination of IHaveType and TSharedFromThis

Definition at line 150 of file Types.h.


The documentation for this class was generated from the following file: