19#if !defined(XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133)
20#define XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133
48#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
59 enum { eDefaultBlockSize = 32 };
154 return m_allocator.ownsObject(
theObject);
174 return m_allocator.getBlockCount();
186 return m_allocator.getBlockSize();
198 return m_allocator.getMemoryManager();
222 ArenaAllocatorType m_allocator;
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
ReusableArenaBlockType::size_type size_type
bool destroy(XalanDOMString &theDOMString)
~XalanDOMStringReusableAllocator()
data_type & create(data_type_size_type theCount, XalanDOMChar theChar)
Create a XalanDOMString object.
data_type & create(const char *theString, data_type_size_type theCount=data_type_size_type(data_type::npos))
Create a XalanDOMString object.
void reset()
Delete all instance objects from allocator.
bool ownsObject(const data_type *theObject)
Determine if an object is owned by the allocator...
data_type & create()
Create a XalanDOMString object.
data_type & create(const XalanDOMChar *theString, data_type_size_type theCount=data_type_size_type(data_type::npos))
Create a XalanDOMString object.
XalanDOMStringReusableAllocator(MemoryManager &theManager, size_type theBlockCount)
Construct an instance that will allocate in blocks of the specified size.
data_type & create(const data_type &theSource, data_type_size_type theStartPosition=0, data_type_size_type theCount=data_type_size_type(data_type::npos))
Copy constructor.
ReusableArenaAllocator< data_type > ArenaAllocatorType
data_type::size_type data_type_size_type
const MemoryManager & getMemoryManager() const
Get a reference to the MemoryManager instance for this instance.
size_type getBlockSize() const
Get size of an ArenaBlock, that is, the number of objects in each block.
ArenaAllocatorType::size_type size_type
MemoryManager & getMemoryManager()
Get a reference to the MemoryManager instance for this instance.
size_type getBlockCount() const
Get the number of ArenaBlocks currently allocated.
void reset(MemoryManager *theManager=0, Type *thePointer=0)
MemoryManager * getMemoryManager()