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 ()
void ReleaseResource ()
void Swap ( 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()

void ReleaseResource ( ) [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 &)

void Swap ( 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 >:: BaseManagedType BaseManagedType [protected]

Typedef CleanupStrategy

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

Typedef LAutoPtrBase

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

Typedef ManagedType

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