Navigation
API > API/Runtime > API/Runtime/uLangCore
TSPtr is a convenience class - it wraps around a pointer to an object that is a subclass of CSharedMix [or any class that has the methods: Reference() & Dereference()] and acts just like a regular pointer except that it automatically references and dereferences the object as needed. The AllocatorType must provide the methods void * Allocate(size_t) and void Deallocate(void *)
| Name | TSPtrG |
| Type | class |
| Header File | /Engine/Source/Runtime/Solaris/uLangCore/Public/uLang/Common/Containers/SharedPointer.h |
| Include Path | #include "uLang/Common/Containers/SharedPointer.h" |
Syntax
template<class ObjectType, bool AllowNull, class AllocatorType, typename... AllocatorArgsType>
class TSPtrG
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Common/Containers/SharedPointer.h | |||
ULANG_FORCEINLINE TSPtrG
(
NullPtrType NullPtr |
uLang/Common/Containers/SharedPointer.h | ||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
ULANG_FORCEINLINE TSPtrG
(
ObjectType* Object, |
uLang/Common/Containers/SharedPointer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ULANG_FORCEINLINE ~TSPtrG() |
uLang/Common/Containers/SharedPointer.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| ReleaseFuncType | void(*)(ObjectType *, const AllocatorType &) | Indirection to keep knowledge about ObjectType out of default constructor and destructor so that TSPtrG can be forward declared with an incomplete ObjectType argument The price we pay is 8 more bytes of memory, indirect function call on each release, and that we have to (re-)initialize this function pointer in all methods that can set the pointer to something non-null | uLang/Common/Containers/SharedPointer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
ULANG_FORCEINLINE ObjectType * Get() |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE const AllocatorType & GetAllocator() |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool IsValid() |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINETSPtrG Map
(
FuncType&& Func, |
Composability methods. | uLang/Common/Containers/SharedPointer.h | |
ULANG_FORCEINLINE void Reset() |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINETSPtrG & SetNew
(
CtorArgsType&&... CtorArgs |
uLang/Common/Containers/SharedPointer.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
ULANG_FORCEINLINE void EnableRelease() |
Set the release function pointer to a valid value. | uLang/Common/Containers/SharedPointer.h | |
ULANG_FORCEINLINE void Release() |
Let go of our object. | uLang/Common/Containers/SharedPointer.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static ULANG_FORCEINLINETSPtrG New
(
AllocatorArgsType&&... AllocatorArgs, |
uLang/Common/Containers/SharedPointer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ULANG_FORCEINLINE operator bool () |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE operator bool () |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE operator ObjectType *() |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator!() |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator!=
(
OtherObjectType* Object |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator!=
(
NullPtrType |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator!=
(
const TSPtrG& Other |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator!=
(
const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... >& Other |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE ObjectType & operator*() |
uLang/Common/Containers/SharedPointer.h | ||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
ULANG_FORCEINLINE bool operator==
(
NullPtrType |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator==
(
const TSPtrG& Other |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator==
(
const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... >& Other |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator==
(
OtherObjectType* Object |
uLang/Common/Containers/SharedPointer.h | ||
ULANG_FORCEINLINE bool operator>
(
OtherObjectType* Object |
uLang/Common/Containers/SharedPointer.h | ||
| uLang/Common/Containers/SharedPointer.h | |||
| uLang/Common/Containers/SharedPointer.h | |||
ULANG_FORCEINLINE ObjectType * operator->() |
uLang/Common/Containers/SharedPointer.h |