Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Public Types | Public Member Functions | List of all members
XalanSourceTreeDocumentAllocator Class Reference

Public Types

enum  {
  eDefaultAttributeAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeAllocatorBlockSize, eDefaultAttributeNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeNSAllocatorBlockSize, eDefaultCommentAllocatorBlockSize = XalanSourceTreeDocument::eDefaultCommentAllocatorBlockSize, eDefaultElementAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementAllocatorBlockSize,
  eDefaultElementNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementNSAllocatorBlockSize, eDefaultPIAllocatorBlockSize = XalanSourceTreeDocument::eDefaultPIAllocatorBlockSize, eDefaultTextAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextAllocatorBlockSize, eDefaultTextIWSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextIWSAllocatorBlockSize,
  eDefaultNamesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBlockSize, eDefaultNamesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketCount, eDefaultNamesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketSize, eDefaultValuesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBlockSize,
  eDefaultValuesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketCount, eDefaultValuesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketSize
}
typedef XalanSourceTreeDocument data_type
typedef ReusableArenaAllocator
< data_type
ArenaAllocatorType
typedef
ArenaAllocatorType::size_type 
size_type
typedef
XalanSourceTreeDocument::block_size_type 
block_size_type
typedef
XalanSourceTreeDocument::bucket_count_type 
bucket_count_type
typedef
XalanSourceTreeDocument::bucket_size_type 
bucket_size_type

Public Member Functions

 XalanSourceTreeDocumentAllocator (MemoryManagerType &theManager, size_type theBlockCount)
 Construct an instance that will allocate blocks of the specified size.
 ~XalanSourceTreeDocumentAllocator ()
data_typecreate (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.
data_typecreate (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.
bool destroy (data_type *theObject)
 Delete a XalanSourceTreeDocument object from allocator.
bool ownsObject (const data_type *theObject)
 Determine if an object is owned by the allocator...
void reset ()
 Delete all XalanSourceTreeDocument objects from allocator.
size_type getBlockCount () const
 Get the number of ArenaBlocks currently allocated.
size_type getBlockSize () const
 Get size of an ArenaBlock, that is, the number of objects in each block.

Member Typedef Documentation

Member Enumeration Documentation

anonymous enum
Enumerator:
eDefaultAttributeAllocatorBlockSize 
eDefaultAttributeNSAllocatorBlockSize 
eDefaultCommentAllocatorBlockSize 
eDefaultElementAllocatorBlockSize 
eDefaultElementNSAllocatorBlockSize 
eDefaultPIAllocatorBlockSize 
eDefaultTextAllocatorBlockSize 
eDefaultTextIWSAllocatorBlockSize 
eDefaultNamesStringPoolBlockSize 
eDefaultNamesStringPoolBucketCount 
eDefaultNamesStringPoolBucketSize 
eDefaultValuesStringPoolBlockSize 
eDefaultValuesStringPoolBucketCount 
eDefaultValuesStringPoolBucketSize 

Constructor & Destructor Documentation

XalanSourceTreeDocumentAllocator::XalanSourceTreeDocumentAllocator ( MemoryManagerType theManager,
size_type  theBlockCount 
)

Construct an instance that will allocate blocks of the specified size.

Parameters
theBlockSizeThe block size.
XalanSourceTreeDocumentAllocator::~XalanSourceTreeDocumentAllocator ( )

Member Function Documentation

data_type* XalanSourceTreeDocumentAllocator::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.

Parameters
fPoolAllTextIf false, text node data that is not whitespace will not be pooled.
theNamesStringPoolBlockSizeThe block size for allocating strings in the name pool
theNamesStringPoolBucketCountThe number of buckets for allocating strings in the name pool
theNamesStringPoolBucketSizeThe bucket size for allocating strings in the name pool
theValuesStringPoolBlockSizeThe block size for allocating strings in the values pool
theValuesStringPoolBucketCountThe number of buckets for allocating strings in the values pool
theValuesStringPoolBucketSizeThe bucket size for allocating strings in the values pool
Returns
pointer to a node
data_type* XalanSourceTreeDocumentAllocator::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.

Parameters
fPoolAllTextIf false, text node data that is not whitespace will not be pooled.
theAttributeBlockSizeThe block size for allocating attribute nodes
theAttributeNSBlockSizeThe block size for allocating attribute NS nodes
theCommentBlockSizeThe block size for allocating comment nodes
theElementBlockSizeThe block size for allocating element nodes
theElementNSBlockSizeThe block size for allocating element nodes
theTextBlockSizeThe block size for allocating text nodes,
theTextIWSBlockSizeThe block size for allocating text IWS nodes,
Returns
pointer to a node
bool XalanSourceTreeDocumentAllocator::destroy ( data_type theObject)

Delete a XalanSourceTreeDocument object from allocator.

size_type XalanSourceTreeDocumentAllocator::getBlockCount ( ) const

Get the number of ArenaBlocks currently allocated.

Returns
The number of blocks.
size_type XalanSourceTreeDocumentAllocator::getBlockSize ( ) const

Get size of an ArenaBlock, that is, the number of objects in each block.

Returns
The size of the block
bool XalanSourceTreeDocumentAllocator::ownsObject ( const data_type theObject)

Determine if an object is owned by the allocator...

void XalanSourceTreeDocumentAllocator::reset ( )

Delete all XalanSourceTreeDocument objects from allocator.


The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo