Xalan-C++ API Reference  1.12.0
Public Types | Public Member Functions | List of all members
xalanc::XalanDOMStringAllocator Class Reference

#include <xalanc/PlatformSupport/XalanDOMStringAllocator.hpp>

Public Types

enum  { eDefaultBlockSize = 32 }
 
typedef XalanDOMString data_type
 
typedef data_type::size_type data_type_size_type
 
typedef ArenaAllocator< data_typeArenaAllocatorType
 
typedef ArenaAllocatorType::size_type size_type
 

Public Member Functions

 XalanDOMStringAllocator (MemoryManager &theManager, size_type theBlockCount)
 Construct an instance that will allocate in blocks of the specified size. More...
 
 ~XalanDOMStringAllocator ()
 
data_typecreate ()
 Create a XalanDOMString object. More...
 
data_typecreate (const char *theString, data_type_size_type theCount=data_type_size_type(data_type::npos))
 Create a XalanDOMString object. More...
 
data_typecreate (const data_type &theSource, data_type_size_type theStartPosition=0, data_type_size_type theCount=data_type_size_type(data_type::npos))
 Copy constructor. More...
 
data_typecreate (const XalanDOMChar *theString, data_type_size_type theCount=data_type_size_type(data_type::npos))
 Create a XalanDOMString object. More...
 
data_typecreate (data_type_size_type theCount, XalanDOMChar theChar)
 Create a XalanDOMString object. More...
 
bool ownsObject (const data_type *theObject)
 Determine if an object is owned by the allocator... More...
 
void reset ()
 Delete all instance objects from allocator. More...
 
size_type getBlockCount () const
 Get the number of ArenaBlocks currently allocated. More...
 
size_type getBlockSize () const
 Get size of an ArenaBlock, that is, the number of objects in each block. More...
 
MemoryManager & getMemoryManager ()
 Get a reference to the MemoryManager instance for this instance. More...
 
const MemoryManager & getMemoryManager () const
 Get a reference to the MemoryManager instance for this instance. More...
 

Detailed Description

Definition at line 41 of file XalanDOMStringAllocator.hpp.

Member Typedef Documentation

◆ ArenaAllocatorType

Definition at line 54 of file XalanDOMStringAllocator.hpp.

◆ data_type

Definition at line 45 of file XalanDOMStringAllocator.hpp.

◆ data_type_size_type

Definition at line 46 of file XalanDOMStringAllocator.hpp.

◆ size_type

Definition at line 57 of file XalanDOMStringAllocator.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
eDefaultBlockSize 

Definition at line 59 of file XalanDOMStringAllocator.hpp.

Constructor & Destructor Documentation

◆ XalanDOMStringAllocator()

xalanc::XalanDOMStringAllocator::XalanDOMStringAllocator ( MemoryManager &  theManager,
size_type  theBlockCount 
)

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

Parameters
theBlockSizeThe block size.

◆ ~XalanDOMStringAllocator()

xalanc::XalanDOMStringAllocator::~XalanDOMStringAllocator ( )

Member Function Documentation

◆ create() [1/5]

data_type* xalanc::XalanDOMStringAllocator::create ( )

Create a XalanDOMString object.

Returns
pointer to the new instance

◆ create() [2/5]

data_type* xalanc::XalanDOMStringAllocator::create ( const char *  theString,
data_type_size_type  theCount = data_type_size_type(data_type::npos) 
)

Create a XalanDOMString object.

Parameters
theStringA pointer to a character string
theCountThe number of characters in the string, or npos if the string is null-terminated.
Returns
pointer to the new instance

◆ create() [3/5]

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

Parameters
theSourceThe source string for the copy
theStartPositionThe position to start in the source string.
theCountThe number of characters to copy from the source string.
Returns
pointer to the new instance

◆ create() [4/5]

data_type* xalanc::XalanDOMStringAllocator::create ( const XalanDOMChar *  theString,
data_type_size_type  theCount = data_type_size_type(data_type::npos) 
)

Create a XalanDOMString object.

Parameters
theStringA pointer to a wide character string
theCountThe number of characters in the string, or npos if the string is null-terminated.
Returns
pointer to the new instance

◆ create() [5/5]

data_type* xalanc::XalanDOMStringAllocator::create ( data_type_size_type  theCount,
XalanDOMChar  theChar 
)

Create a XalanDOMString object.

Parameters
theCountthe size of the string
theCharthe character used to initialize the string
Returns
pointer to the new instance

◆ getBlockCount()

size_type xalanc::XalanDOMStringAllocator::getBlockCount ( ) const
inline

Get the number of ArenaBlocks currently allocated.

Returns
The number of blocks.

Definition at line 162 of file XalanDOMStringAllocator.hpp.

◆ getBlockSize()

size_type xalanc::XalanDOMStringAllocator::getBlockSize ( ) const
inline

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

Returns
The size of the block

Definition at line 174 of file XalanDOMStringAllocator.hpp.

◆ getMemoryManager() [1/2]

MemoryManager& xalanc::XalanDOMStringAllocator::getMemoryManager ( )
inline

Get a reference to the MemoryManager instance for this instance.

Returns
A reference to the MemoryManager instance.

Definition at line 186 of file XalanDOMStringAllocator.hpp.

◆ getMemoryManager() [2/2]

const MemoryManager& xalanc::XalanDOMStringAllocator::getMemoryManager ( ) const
inline

Get a reference to the MemoryManager instance for this instance.

Returns
A reference to the MemoryManager instance.

Definition at line 198 of file XalanDOMStringAllocator.hpp.

◆ ownsObject()

bool xalanc::XalanDOMStringAllocator::ownsObject ( const data_type theObject)
inline

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

Definition at line 142 of file XalanDOMStringAllocator.hpp.

◆ reset()

void xalanc::XalanDOMStringAllocator::reset ( )
inline

Delete all instance objects from allocator.


Definition at line 151 of file XalanDOMStringAllocator.hpp.


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