|
| ULANG_FORCEINLINE | TSPtrG (NullPtrType NullPtr=nullptr) |
| |
| ULANG_FORCEINLINE | TSPtrG (const TSPtrG &Other) |
| |
| template<class OtherObjectType , bool OtherAllowNull, typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherObjectType, ObjectType>::Value && (AllowNull || !OtherAllowNull)>::Type> |
| ULANG_FORCEINLINE | TSPtrG (const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &Other) |
| |
| ULANG_FORCEINLINE | TSPtrG (TSPtrG &&Other) |
| |
| template<class OtherObjectType , bool OtherAllowNull, typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherObjectType, ObjectType>::Value && (AllowNull || !OtherAllowNull)>::Type> |
| ULANG_FORCEINLINE | TSPtrG (TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &&Other) |
| |
| ULANG_FORCEINLINE | ~TSPtrG () |
| |
| template<typename... CtorArgsType> |
| ULANG_FORCEINLINE TSPtrG & | SetNew (CtorArgsType &&... CtorArgs) |
| |
| ULANG_FORCEINLINE TSPtrG & | operator= (NullPtrType) |
| |
| ULANG_FORCEINLINE TSPtrG & | operator= (const TSPtrG &Other) |
| |
| template<class OtherObjectType , bool OtherAllowNull, typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherObjectType, ObjectType>::Value && (AllowNull || !OtherAllowNull)>::Type> |
| ULANG_FORCEINLINE TSPtrG & | operator= (const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &Other) |
| |
| ULANG_FORCEINLINE TSPtrG & | operator= (TSPtrG &&Other) |
| |
| template<class OtherObjectType , bool OtherAllowNull, typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherObjectType, ObjectType>::Value>::Type> |
| ULANG_FORCEINLINE TSPtrG & | operator= (TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &&Other) |
| |
| ULANG_FORCEINLINE | operator ObjectType * () const |
| |
| ULANG_FORCEINLINE ObjectType & | operator* () const |
| |
| ULANG_FORCEINLINE ObjectType * | operator-> () const |
| |
| ULANG_FORCEINLINE ObjectType * | Get () const |
| |
| ULANG_FORCEINLINE const AllocatorType & | GetAllocator () const |
| |
| ULANG_FORCEINLINE void | Reset () |
| |
| ULANG_FORCEINLINE TSPtrG< ObjectType, false, AllocatorType, AllocatorArgsType... > & | AsRef () & |
| |
| ULANG_FORCEINLINE TSPtrG< ObjectType, false, AllocatorType, AllocatorArgsType... > | AsRef () && |
| |
| ULANG_FORCEINLINE const TSPtrG< ObjectType, false, AllocatorType, AllocatorArgsType... > & | AsRef () const & |
| |
| template<class OtherObjectType , typename = typename TEnableIf<TPointerIsStaticCastableFromTo<OtherObjectType, ObjectType>::Value>::Type> |
| ULANG_FORCEINLINE TSPtrG< OtherObjectType, AllowNull, AllocatorType, AllocatorArgsType... > & | As () |
| |
| template<class OtherObjectType , typename = typename TEnableIf<TPointerIsStaticCastableFromTo<OtherObjectType, ObjectType>::Value>::Type> |
| ULANG_FORCEINLINE const TSPtrG< OtherObjectType, AllowNull, AllocatorType, AllocatorArgsType... > & | As () const |
| |
| ULANG_FORCEINLINE bool | operator== (NullPtrType) const |
| |
| ULANG_FORCEINLINE bool | operator!= (NullPtrType) const |
| |
| ULANG_FORCEINLINE bool | operator== (const TSPtrG &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator== (const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator== (OtherObjectType *Object) const |
| |
| ULANG_FORCEINLINE bool | operator!= (const TSPtrG &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator!= (const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator!= (OtherObjectType *Object) const |
| |
| ULANG_FORCEINLINE bool | operator< (const TSPtrG &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator< (const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator< (OtherObjectType *Object) const |
| |
| ULANG_FORCEINLINE bool | operator> (const TSPtrG &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator> (const TSPtrG< OtherObjectType, OtherAllowNull, AllocatorType, AllocatorArgsType... > &Other) const |
| |
| template<class OtherObjectType , bool OtherAllowNull> |
| ULANG_FORCEINLINE bool | operator> (OtherObjectType *Object) const |
| |
| ULANG_FORCEINLINE | operator bool () |
| |
| ULANG_FORCEINLINE | operator bool () const |
| |
| ULANG_FORCEINLINE bool | operator! () const |
| |
| ULANG_FORCEINLINE bool | IsValid () const |
| |
| template<typename FuncType , typename... ArgTypes> |
| ULANG_FORCEINLINE TSPtrG | Map (FuncType &&Func, ArgTypes &&... Args) && |
| |
template<class ObjectType,
bool AllowNull, class AllocatorType, typename... AllocatorArgsType>
class uLang::TSPtrG< ObjectType, AllowNull, AllocatorType, AllocatorArgsType >
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 *)