ReactOS  0.4.12-dev-712-ge6be187
ATL::CStringData Struct Reference

#include <atlsimpstr.h>

Inheritance diagram for ATL::CStringData:
Collaboration diagram for ATL::CStringData:

Public Member Functions

voiddata () throw ()
 
void AddRef () throw ()
 
void Release () throw ()
 
bool IsLocked () const throw ()
 
bool IsShared () const throw ()
 

Public Attributes

IAtlStringMgrpStringMgr
 
int nAllocLength
 
int nDataLength
 
long nRefs
 

Detailed Description

Definition at line 42 of file atlsimpstr.h.

Member Function Documentation

◆ AddRef()

void ATL::CStringData::AddRef ( void  )
throw (
)
inline

Definition at line 54 of file atlsimpstr.h.

55  {
56  ATLASSERT(nRefs > 0);
58  }
#define ATLASSERT(x)
Definition: CComVariant.cpp:9
long __cdecl _InterlockedIncrement(_Interlocked_operand_ long volatile *_Addend)

Referenced by ATL::CSimpleStringT< BaseType, _CSTRING_IMPL_::_MFCDLLTraitsCheck< BaseType, StringTraits >::c_bIsMFCDLLTraits >::CloneData(), and ATL::CAtlStringMgr::GetNilString().

◆ data()

◆ IsLocked()

bool ATL::CStringData::IsLocked ( ) const
throw (
)
inline

◆ IsShared()

bool ATL::CStringData::IsShared ( ) const
throw (
)
inline

◆ Release()

void ATL::CStringData::Release ( void  )
throw (
)
inline

Definition at line 60 of file atlsimpstr.h.

61  {
62  ATLASSERT(nRefs != 0);
63 
64  if (_InterlockedDecrement(&nRefs) <= 0)
65  {
66  pStringMgr->Free(this);
67  }
68  }
#define ATLASSERT(x)
Definition: CComVariant.cpp:9
virtual void Free(_Inout_ CStringData *pData)=0
long __cdecl _InterlockedDecrement(_Interlocked_operand_ long volatile *_Addend)
IAtlStringMgr * pStringMgr
Definition: atlsimpstr.h:44

Referenced by ATL::CSimpleStringT< BaseType, _CSTRING_IMPL_::_MFCDLLTraitsCheck< BaseType, StringTraits >::c_bIsMFCDLLTraits >::__declspec(), and ATL::CSimpleStringT< BaseType, _CSTRING_IMPL_::_MFCDLLTraitsCheck< BaseType, StringTraits >::c_bIsMFCDLLTraits >::Empty().

Member Data Documentation

◆ nAllocLength

◆ nDataLength

◆ nRefs

◆ pStringMgr


The documentation for this struct was generated from the following file: