19#if !defined(XALANSOURCETREEDOCUMENTALLOCATOR_INCLUDE_GUARD_12455133)
20#define XALANSOURCETREEDOCUMENTALLOCATOR_INCLUDE_GUARD_12455133
50 enum { eDefaultAttributeAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeAllocatorBlockSize,
51 eDefaultAttributeNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeNSAllocatorBlockSize,
52 eDefaultCommentAllocatorBlockSize = XalanSourceTreeDocument::eDefaultCommentAllocatorBlockSize,
53 eDefaultElementAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementAllocatorBlockSize,
54 eDefaultElementNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementNSAllocatorBlockSize,
55 eDefaultPIAllocatorBlockSize = XalanSourceTreeDocument::eDefaultPIAllocatorBlockSize,
56 eDefaultTextAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextAllocatorBlockSize,
57 eDefaultTextIWSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextIWSAllocatorBlockSize,
58 eDefaultNamesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBlockSize,
59 eDefaultNamesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketCount,
60 eDefaultNamesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketSize,
61 eDefaultValuesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBlockSize,
62 eDefaultValuesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketCount,
63 eDefaultValuesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketSize };
139 return m_allocator.ownsObject(
theObject);
156 return m_allocator.getBlockCount();
168 return m_allocator.getBlockSize();
180 ArenaAllocatorType m_allocator;
#define XALAN_XSLT_EXPORT
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
ReusableArenaBlockType::size_type size_type
XalanSourceTreeDocument::bucket_count_type bucket_count_type
size_type getBlockSize() const
Get size of an ArenaBlock, that is, the number of objects in each block.
void reset()
Delete all XalanSourceTreeDocument objects from allocator.
XalanSourceTreeDocument::bucket_size_type bucket_size_type
bool destroy(data_type *theObject)
Delete a XalanSourceTreeDocument object from allocator.
~XalanSourceTreeDocumentAllocator()
XalanSourceTreeDocument data_type
data_type * create(bool fPoolAllText=true, block_size_type theNamesStringPoolBlockSize=eDefaultNamesStringPoolBlockSize, bucket_count_type theNamesStringPoolBucketCount=eDefaultNamesStringPoolBucketCount, bucket_size_type theNamesStringPoolBucketSize=eDefaultNamesStringPoolBucketSize, block_size_type theValuesStringPoolBlockSize=eDefaultValuesStringPoolBlockSize, bucket_count_type theValuesStringPoolBucketCount=eDefaultValuesStringPoolBucketCount, bucket_size_type theValuesStringPoolBucketSize=eDefaultValuesStringPoolBucketSize)
Create a XalanSourceTreeDocument object.
XalanSourceTreeDocumentAllocator(MemoryManager &theManager, size_type theBlockCount)
Construct an instance that will allocate blocks of the specified size.
data_type * create(size_type theAttributeBlockSize, size_type theAttributeNSBlockSize, size_type theCommentBlockSize, size_type theElementBlockSize, size_type theElementNSBlockSize, size_type thePIBlockSize, size_type theTextBlockSize, size_type theTextIWSBlockSize, bool fPoolAllText=true)
Create a XalanSourceTreeDocument object.
ReusableArenaAllocator< data_type > ArenaAllocatorType
ArenaAllocatorType::size_type size_type
size_type getBlockCount() const
Get the number of ArenaBlocks currently allocated.
XalanSourceTreeDocument::block_size_type block_size_type
bool ownsObject(const data_type *theObject)
Determine if an object is owned by the allocator...
XalanDOMStringPool::block_size_type block_size_type