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 };
89 const char* theString,
90#
if defined(_MSC_VER) && (_MSC_VER <= 1300)
122 const XalanDOMChar* theString,
136 XalanDOMChar theChar);
145 return m_allocator.destroyObject(&theDOMString);
154 return m_allocator.ownsObject(theObject);
174 return m_allocator.getBlockCount();
186 return m_allocator.getBlockSize();
198 return m_allocator.getMemoryManager();
210 return m_allocator.getMemoryManager();
222 ArenaAllocatorType m_allocator;
#define XALAN_CPP_NAMESPACE
ReusableArenaBlockType::size_type size_type
bool destroy(XalanDOMString &theDOMString)
~XalanDOMStringReusableAllocator()
ReusableArenaAllocator< data_type > ArenaAllocatorType
ArenaAllocatorType::size_type size_type
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.
data_type::size_type data_type_size_type
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.
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.
MemoryManager & getMemoryManager()
Get a reference to the MemoryManager instance for this instance.
size_type getBlockCount() const
Get the number of ArenaBlocks currently allocated.