MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
SharedObjects.h File Reference
#include "CoreMinimal.h"
#include "Mcro/FunctionTraits.h"
#include "Mcro/Construct.h"

Go to the source code of this file.

Namespaces

namespace  Mcro
 
namespace  Mcro::SharedObjects
 

Concepts

concept  Mcro::SharedObjects::CSharedInitializeable
 

Typedefs

template<CSharedOrWeak T>
using Mcro::SharedObjects::TSharedPtrFrom = TSharedPtr<typename T::ElementType, T::Mode>
 
template<CSharedOrWeak T>
using Mcro::SharedObjects::TSharedRefFrom = TSharedRef<typename T::ElementType, T::Mode>
 
template<CSharedOrWeak T>
using Mcro::SharedObjects::TWeakPtrFrom = TWeakPtr<typename T::ElementType, T::Mode>
 

Functions

template<typename T , ESPMode Mode = ESPMode::ThreadSafe, typename... Args>
requires CSharedInitializeable<T, Args...>
TSharedRef< T, Mode > Mcro::SharedObjects::MakeShareableInit (T *newObject, Args &&... args)
 
template<CFunctorObject Initializer, typename... Args, ESPMode Mode = ESPMode::ThreadSafe, typename ResultArg = TFunction_Arg<Initializer, 0>, typename Result = std::decay_t<ResultArg>>
requires std::is_lvalue_reference_v<ResultArg>
TSharedRef< Result, Mode > Mcro::SharedObjects::ConstructShared (Initializer &&init, Args &&... args)
 
template<CRefCounted T, ESPMode Mode = ESPMode::ThreadSafe>
TSharedRef< T, Mode > Mcro::SharedObjects::ShareRefCounted (T *object)
 
template<CSharedFromThis T, ESPMode Mode = decltype(DeclVal<T const>().AsShared())::Mode>
auto Mcro::SharedObjects::WeakSelf (const T *self) -> TWeakPtr< T const, Mode >
 
template<CSharedFromThis T, ESPMode Mode = decltype(DeclVal<T>().AsShared())::Mode>
auto Mcro::SharedObjects::WeakSelf (T *self) -> TWeakPtr< T, Mode >
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file SharedObjects.h.