18 #if !defined(XALANMEMMGRAUTOPTR_HEADER_GUARD_1357924680) 19 #define XALANMEMMGRAUTOPTR_HEADER_GUARD_1357924680 38 XALAN_CPP_NAMESPACE_BEGIN
62 MemoryManager* memoryManager,
64 AutoPtrPairType(memoryManager, dataPointer)
72 return this->first != 0 && this->second != 0;
82 this->second->~Type();
84 this->first->deallocate(this->second);
90 MemoryManager* memoryManager,
95 this->first = memoryManager;
97 this->second = dataPointer;
109 (this->first == 0 && this->second == 0));
115 MemoryManager& theManager,
117 m_pointerInfo(&theManager, ptr)
136 m_pointerInfo.deallocate();
138 m_pointerInfo = theRHS.
release();
146 m_pointerInfo.deallocate();
152 return *m_pointerInfo.second;
158 return m_pointerInfo.second;
164 return m_pointerInfo.second;
170 return m_pointerInfo.first;
176 return m_pointerInfo.first;
184 m_pointerInfo.reset(0, 0);
199 MemoryManager* theManager = 0,
200 Type* thePointer = 0)
202 m_pointerInfo.deallocate();
204 m_pointerInfo.reset(theManager, thePointer);
221 #if defined(XALAN_STRICT_ANSI_HEADERS) 239 MemoryManager* memoryManager,
242 m_memoryManager(memoryManager),
243 m_dataArray(dataPointer),
252 return m_memoryManager != 0 && m_dataArray != 0 && m_size != 0;
260 if ( isInitilized() )
262 assert ( m_dataArray != 0 );
264 for ( size_type i = 0; i < m_size ; ++i )
266 m_dataArray[i].~Type();
269 m_memoryManager->deallocate(m_dataArray);
275 MemoryManager* theMemoryManager,
281 m_memoryManager = theMemoryManager;
283 m_dataArray = thePointer;
303 (m_memoryManager == 0 && m_dataArray == 0 && m_size == 0));
308 MemoryManager& theManager,
333 m_pointerInfo.deallocate();
335 m_pointerInfo = theRHS.
release();
343 m_pointerInfo.deallocate();
349 return *m_pointerInfo.m_dataArray;
355 return m_pointerInfo.m_dataArray;
361 return m_pointerInfo.m_dataArray;
367 return m_pointerInfo.m_size;
373 return m_pointerInfo.m_memoryManager;
379 return m_pointerInfo.m_memoryManager;
385 ++m_pointerInfo.m_size;
408 m_pointerInfo.
reset(0, 0, 0);
423 MemoryManager* theManager = 0,
424 Type* thePointer = 0 ,
427 m_pointerInfo.deallocate();
429 m_pointerInfo.reset(theManager, thePointer, size);
435 return m_pointerInfo.m_dataArray[index];
447 XALAN_CPP_NAMESPACE_END
451 #endif // if !defined(XALANMEMMGRAUTOPTR_HEADER_GUARD_1357924680)
XALAN_STD_QUALIFIER pair< MemoryManager *, Type * > AutoPtrPairType
const MemoryManager * getMemoryManager() const
void reset(MemoryManager *theManager=0, Type *thePointer=0, size_type size=0)
Type & operator[](size_type index) const
XalanMemMgrAutoPtrArray< Type > & operator=(XalanMemMgrAutoPtrArray< Type > &theRHS)
MemMgrAutoPtrArrayData(MemoryManager *memoryManager, Type *dataPointer, size_type size)
bool isInitilized() const
void reset(MemoryManager *theManager=0, Type *thePointer=0)
void reset(MemoryManager *theMemoryManager, Type *thePointer, size_type size)
MemoryManager * getMemoryManager()
XalanMemMgrAutoPtr< Type > & operator=(XalanMemMgrAutoPtr< Type > &theRHS)
MemMgrAutoPtrArrayData release()
Type * operator->() const
~XalanMemMgrAutoPtrArray()
XALAN_CPP_NAMESPACE_BEGIN typedef size_t size_type
MemMgrAutoPtrData(MemoryManager *memoryManager, Type *dataPointer)
bool isInitialized() const
XalanMemMgrAutoPtr(MemoryManager &theManager, Type *ptr)
Type * operator->() const
MemoryManager * m_memoryManager
void reset(MemoryManager *memoryManager, Type *dataPointer)
XalanMemMgrAutoPtrArray()
XalanMemMgrAutoPtrArray(MemoryManager &theManager, Type *ptr, size_type size)
const MemoryManager * getMemoryManager() const
MemoryManager * getMemoryManager()
XALAN_CPP_NAMESPACE_BEGIN XALAN_USING_XERCES(Locator)
size_type getSize() const
MemMgrAutoPtrData release()
XalanMemMgrAutoPtr(const XalanMemMgrAutoPtr< Type > &theSource)
XalanMemMgrAutoPtrArray(const XalanMemMgrAutoPtrArray< Type > &theSource)