LManagedPtrBase Class Reference

#include <emanaged.h>

class LManagedPtrBase : protected LAutoPtrBase< 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
Protected Member Functions
LManagedPtrBase()
LManagedPtrBase(U *)
~LManagedPtrBase()
voidReleaseResource()
voidSwap(LManagedPtrBase &)
LManagedPtrBase &operator=(U *)
Inherited Attributes
LAutoPtrBase< TPtrCleanupTraits< T, CleanupStrategyType >::BaseManagedType >::iPtr
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 *)

Detailed Description

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

Member Type Definition Documentation

Typedef BaseManagedType

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

Typedef CleanupStrategy

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

Typedef ManagedType

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

Constructor & Destructor Documentation

LManagedPtrBase ( )

LManagedPtrBase()[protected, inline]

LManagedPtrBase ( U * )

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

~LManagedPtrBase ( )

~LManagedPtrBase()[protected, inline]

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

Member Function 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]

operator= ( U * )

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