ReactOS 0.4.15-dev-5863-g1fe3ab7
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 ( )
throw (
)
inline

Definition at line 54 of file atlsimpstr.h.

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

Referenced by ATL::CSimpleStringT< BaseType, t_bMFCDLL >::CloneData(), and ATL::CAtlStringMgr::GetNilString().

◆ data()

void * ATL::CStringData::data ( )
throw (
)
inline

Definition at line 49 of file atlsimpstr.h.

50 {
51 return (this + 1);
52 }

Referenced by ATL::CSimpleStringT< BaseType, t_bMFCDLL >::__declspec(), and ATL::CSimpleStringT< BaseType, t_bMFCDLL >::CloneData().

◆ IsLocked()

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

Definition at line 70 of file atlsimpstr.h.

71 {
72 return (nRefs < 0);
73 }

Referenced by ATL::CSimpleStringT< BaseType, t_bMFCDLL >::Empty().

◆ IsShared()

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

Definition at line 75 of file atlsimpstr.h.

76 {
77 return (nRefs > 1);
78 }

Referenced by ATL::CSimpleStringT< BaseType, t_bMFCDLL >::PrepareWrite2().

◆ Release()

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

Definition at line 60 of file atlsimpstr.h.

61 {
62 ATLASSERT(nRefs != 0);
63
65 {
66 pStringMgr->Free(this);
67 }
68 }
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, t_bMFCDLL >::__declspec(), and ATL::CSimpleStringT< BaseType, t_bMFCDLL >::Empty().

Member Data Documentation

◆ nAllocLength

◆ nDataLength

◆ nRefs

◆ pStringMgr


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