LManagedPtrBase Class Reference

class LManagedPtrBase : protected LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >

Implementation base class - not designed for public inheritance or direct use.

Protected Member Functions
LManagedPtrBase()
LManagedPtrBase(U *)
~LManagedPtrBase()
voidReleaseResource()
voidSwap(LManagedPtrBase &)
LManagedPtrBase &operator=(U *)
Inherited Functions
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::Disable()
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::Get()const
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::IsEnabled()const
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::LAutoPtrBase()
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::LAutoPtrBase(TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType *)
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::Swap(LAutoPtrBase &)
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::Unmanage()
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::operator->()const
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::operator=(TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType *)
Protected Member Type Definitions
typedef TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType BaseManagedType
typedef TPtrCleanupTraits< T, CleanupStrategyType >::CleanupStrategy CleanupStrategy
typedef TPtrCleanupTraits< T, CleanupStrategyType >::ManagedType ManagedType
Private Member Type Definitions
typedef LAutoPtrBase< typename TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType > LAutoPtrBase
Inherited Attributes
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::iPtr

Constructor & Destructor Documentation

LManagedPtrBase()

LManagedPtrBase()[protected, inline]

LManagedPtrBase(U *)

LManagedPtrBase(U *aPtr)[protected, inline, explicit]

Parameters

U * aPtr

~LManagedPtrBase()

~LManagedPtrBase()[protected, inline]

Destructor. When automatic resource management is enabled, the destructor invokes the specified cleanup strategy for the managed pointer.

Member Functions Documentation

ReleaseResource()

voidReleaseResource()[protected, inline]

If automatic resource management is enabled, the specified cleanup strategy is invoked for the managed pointer and the automatic resource management is then disabled. The underlying pointer is reset to NULL.

Post-condition
Get() == NULL

Swap(LManagedPtrBase &)

voidSwap(LManagedPtrBase &aManagedPtr)[protected, inline]

Parameters

LManagedPtrBase & aManagedPtr

operator=(U *)

LManagedPtrBase &operator=(U *aPtr)[protected, inline]

Parameters

U * aPtr

Member Type Definitions Documentation

Typedef BaseManagedType

typedef TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedTypeBaseManagedType[protected]

Typedef CleanupStrategy

typedef TPtrCleanupTraits< T, CleanupStrategyType >::CleanupStrategyCleanupStrategy[protected]

Typedef LAutoPtrBase

typedef LAutoPtrBase< typename TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >LAutoPtrBase[private]

Typedef ManagedType

typedef TPtrCleanupTraits< T, CleanupStrategyType >::ManagedTypeManagedType[protected]