16 #if !defined(XALANMEMMGRAUTOPTR_HEADER_GUARD_1357924680)
17 #define XALANMEMMGRAUTOPTR_HEADER_GUARD_1357924680
36 XALAN_CPP_NAMESPACE_BEGIN
40 XALAN_USING_XERCES(MemoryManager)
45 bool toCallDestructor = true>
61 MemoryManager* memoryManager,
63 AutoPtrPairType(memoryManager, dataPointer)
71 return this->first != 0 && this->second != 0;
81 if ( toCallDestructor )
83 this->second->~Type();
86 this->first->deallocate(this->second);
92 MemoryManager* memoryManager ,
97 this->first = memoryManager;
99 this->second = dataPointer;
111 (this->first == 0 && this->second == 0));
117 MemoryManager& theManager,
119 m_pointerInfo(&theManager, ptr)
129 m_pointerInfo(((XalanMemMgrAutoPtr<Type>&)theSource).release())
138 m_pointerInfo.deallocate();
140 m_pointerInfo = theRHS.
release();
148 m_pointerInfo.deallocate();
154 return *m_pointerInfo.second;
160 return m_pointerInfo.second;
166 return m_pointerInfo.second;
172 return m_pointerInfo.first;
178 return m_pointerInfo.first;
184 MemMgrAutoPtrData tmp = m_pointerInfo;
186 m_pointerInfo.reset(0, 0);
188 return MemMgrAutoPtrData(tmp);
194 MemMgrAutoPtrData tmp = release();
201 MemoryManager* theManager = 0,
202 Type* thePointer = 0)
204 m_pointerInfo.deallocate();
206 m_pointerInfo.reset(theManager, thePointer);
212 MemMgrAutoPtrData m_pointerInfo;
223 #if defined(XALAN_STRICT_ANSI_HEADERS)
241 MemoryManager* memoryManager,
277 MemoryManager* theMemoryManager,
310 MemoryManager& theManager,
326 m_pointerInfo(((XalanMemMgrAutoPtr<Type>&)theSource).
release())
337 m_pointerInfo = theRHS.
release();
369 return m_pointerInfo.
m_size;
405 MemMgrAutoPtrArrayData
408 MemMgrAutoPtrArrayData tmp = m_pointerInfo;
410 m_pointerInfo.
reset(0, 0, 0);
412 return MemMgrAutoPtrArrayData(tmp);
418 MemMgrAutoPtrArrayData tmp =
release();
420 return tmp.m_dataArray;
425 MemoryManager* theManager = 0,
426 Type* thePointer = 0 ,
431 m_pointerInfo.
reset(theManager, thePointer, size);
443 MemMgrAutoPtrArrayData m_pointerInfo;
449 XALAN_CPP_NAMESPACE_END
453 #endif // if !defined(XALANMEMMGRAUTOPTR_HEADER_GUARD_1357924680)
size_type m_size
Definition: XalanMemMgrAutoPtr.hpp:296
size_type getSize() const
Definition: XalanMemMgrAutoPtr.hpp:367
Type & operator*() const
Definition: XalanMemMgrAutoPtr.hpp:152
XalanMemMgrAutoPtrArray< Type > & operator++()
Definition: XalanMemMgrAutoPtr.hpp:385
XALAN_STD_QUALIFIER pair< MemoryManager *, Type * > AutoPtrPairType
Definition: XalanMemMgrAutoPtr.hpp:50
void reset(MemoryManager *theManager=0, Type *thePointer=0, size_type size=0)
Definition: XalanMemMgrAutoPtr.hpp:424
Type & operator*() const
Definition: XalanMemMgrAutoPtr.hpp:349
Type * operator->() const
Definition: XalanMemMgrAutoPtr.hpp:158
Definition: XalanMemMgrAutoPtr.hpp:219
void deallocate()
Definition: XalanMemMgrAutoPtr.hpp:258
MemMgrAutoPtrArrayData()
Definition: XalanMemMgrAutoPtr.hpp:233
XalanMemMgrAutoPtrArray< Type > & operator=(XalanMemMgrAutoPtrArray< Type > &theRHS)
Definition: XalanMemMgrAutoPtr.hpp:331
MemMgrAutoPtrArrayData(MemoryManager *memoryManager, Type *dataPointer, size_type size)
Definition: XalanMemMgrAutoPtr.hpp:240
MemMgrAutoPtrData(MemoryManager *memoryManager, Type *dataPointer)
Definition: XalanMemMgrAutoPtr.hpp:60
XalanMemMgrAutoPtr(const XalanMemMgrAutoPtr< Type, toCallDestructor > &theSource)
Definition: XalanMemMgrAutoPtr.hpp:128
Definition: XalanMemMgrAutoPtr.hpp:52
void reset(MemoryManager *theManager=0, Type *thePointer=0)
Definition: XalanMemMgrAutoPtr.hpp:200
void reset(MemoryManager *theMemoryManager, Type *thePointer, size_type size)
Definition: XalanMemMgrAutoPtr.hpp:276
void reset(MemoryManager *memoryManager, Type *dataPointer)
Definition: XalanMemMgrAutoPtr.hpp:91
Definition: XalanMemMgrAutoPtr.hpp:229
XalanMemMgrAutoPtr< Type, toCallDestructor > & operator=(XalanMemMgrAutoPtr< Type, toCallDestructor > &theRHS)
Definition: XalanMemMgrAutoPtr.hpp:134
MemMgrAutoPtrArrayData release()
Definition: XalanMemMgrAutoPtr.hpp:406
XalanMemMgrAutoPtr()
Definition: XalanMemMgrAutoPtr.hpp:123
~XalanMemMgrAutoPtrArray()
Definition: XalanMemMgrAutoPtr.hpp:343
Type & operator[](size_type index) const
Definition: XalanMemMgrAutoPtr.hpp:435
Type * operator->() const
Definition: XalanMemMgrAutoPtr.hpp:355
MemoryManager * getMemoryManager()
Definition: XalanMemMgrAutoPtr.hpp:170
const MemoryManager * getMemoryManager() const
Definition: XalanMemMgrAutoPtr.hpp:176
XalanMemMgrAutoPtr(MemoryManager &theManager, Type *ptr)
Definition: XalanMemMgrAutoPtr.hpp:116
Definition: XalanMemMgrAutoPtr.hpp:46
MemoryManager * m_memoryManager
Definition: XalanMemMgrAutoPtr.hpp:292
XalanMemMgrAutoPtrArray()
Definition: XalanMemMgrAutoPtr.hpp:320
Type * releasePtr()
Definition: XalanMemMgrAutoPtr.hpp:416
bool isInitilized() const
Definition: XalanMemMgrAutoPtr.hpp:252
XalanMemMgrAutoPtrArray(MemoryManager &theManager, Type *ptr, size_type size)
Definition: XalanMemMgrAutoPtr.hpp:309
MemMgrAutoPtrData release()
Definition: XalanMemMgrAutoPtr.hpp:182
~XalanMemMgrAutoPtr()
Definition: XalanMemMgrAutoPtr.hpp:146
MemoryManager * getMemoryManager()
Definition: XalanMemMgrAutoPtr.hpp:373
Type * m_dataArray
Definition: XalanMemMgrAutoPtr.hpp:294
MemMgrAutoPtrData()
Definition: XalanMemMgrAutoPtr.hpp:55
size_t size_type
Definition: XalanMemMgrAutoPtr.hpp:226
bool isInitilized() const
Definition: XalanMemMgrAutoPtr.hpp:69
void deallocate()
Definition: XalanMemMgrAutoPtr.hpp:75
Type * releasePtr()
Definition: XalanMemMgrAutoPtr.hpp:192
const MemoryManager * getMemoryManager() const
Definition: XalanMemMgrAutoPtr.hpp:379
XalanMemMgrAutoPtrArray(const XalanMemMgrAutoPtrArray< Type > &theSource)
Definition: XalanMemMgrAutoPtr.hpp:325