20#ifndef __XPATH2MEMORYMANAGER_HPP
21#define __XPATH2MEMORYMANAGER_HPP
27#include <xqilla/framework/XQillaExport.hpp>
31XERCES_CPP_NAMESPACE_BEGIN
34XERCES_CPP_NAMESPACE_END
41class XQillaNSResolver;
59#if _XERCES_VERSION >= 30000
60 virtual void* allocate(XMLSize_t numElements) = 0;
62 virtual void*
allocate(
size_t numElements) = 0;
70 virtual XQillaNSResolver*
createNSResolver(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *resolverNode) = 0;
96 template <
class _Tp1>
struct rebind {
133 return _n != 0 ?
static_cast<pointer>(malloc(_n*
sizeof(_Tp))) : 0;
151 new ((
void *)_p) _Tp(_v);
185 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager*
_memMgr;
194inline void *
operator new(
size_t amt, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
196 void *p = memMgr->allocate(amt);
200inline void operator delete(
void* ptr, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
202 memMgr->deallocate(ptr);
225 operator TYPE*()
const
278 operator TYPE*()
const
330 operator TYPE*()
const
367 AutoDeallocate(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *mmgr,
size_t size =
sizeof(TYPE))
368 : p_(0), mmgr_(mmgr) {
372 : p_(p), mmgr_(mmgr) {}
387 operator TYPE*()
const
419 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *mmgr_;
Definition ATDecimalOrDerived.hpp:30
Definition XPath2MemoryManager.hpp:365
TYPE & operator*() const
Definition XPath2MemoryManager.hpp:379
TYPE * swap(TYPE *p)
Definition XPath2MemoryManager.hpp:401
TYPE * adopt()
Definition XPath2MemoryManager.hpp:395
AutoDeallocate(xercesc::MemoryManager *mmgr, size_t size=sizeof(TYPE))
Definition XPath2MemoryManager.hpp:367
TYPE * operator->() const
Definition XPath2MemoryManager.hpp:383
AutoDeallocate(TYPE *p, xercesc::MemoryManager *mmgr)
Definition XPath2MemoryManager.hpp:371
void set(TYPE *p)
Definition XPath2MemoryManager.hpp:407
TYPE * get() const
Definition XPath2MemoryManager.hpp:391
~AutoDeallocate()
Definition XPath2MemoryManager.hpp:373
Definition XPath2MemoryManager.hpp:313
AutoDeleteArray(TYPE *p)
Definition XPath2MemoryManager.hpp:315
TYPE * swap(TYPE *p)
Definition XPath2MemoryManager.hpp:344
~AutoDeleteArray()
Definition XPath2MemoryManager.hpp:317
void set(TYPE *p)
Definition XPath2MemoryManager.hpp:350
TYPE & operator*() const
Definition XPath2MemoryManager.hpp:322
TYPE * get() const
Definition XPath2MemoryManager.hpp:334
TYPE * adopt()
Definition XPath2MemoryManager.hpp:338
TYPE * operator->() const
Definition XPath2MemoryManager.hpp:326
Definition XPath2MemoryManager.hpp:261
AutoDelete(TYPE *p)
Definition XPath2MemoryManager.hpp:263
TYPE * adopt()
Definition XPath2MemoryManager.hpp:286
void set(TYPE *p)
Definition XPath2MemoryManager.hpp:298
TYPE * operator->() const
Definition XPath2MemoryManager.hpp:274
TYPE * swap(TYPE *p)
Definition XPath2MemoryManager.hpp:292
TYPE * get() const
Definition XPath2MemoryManager.hpp:282
~AutoDelete()
Definition XPath2MemoryManager.hpp:265
TYPE & operator*() const
Definition XPath2MemoryManager.hpp:270
Definition XPath2MemoryManager.hpp:207
TYPE * swap(TYPE *p)
Definition XPath2MemoryManager.hpp:239
TYPE * get() const
Definition XPath2MemoryManager.hpp:229
AutoRelease(TYPE *p)
Definition XPath2MemoryManager.hpp:209
TYPE * adopt()
Definition XPath2MemoryManager.hpp:233
void set(TYPE *p)
Definition XPath2MemoryManager.hpp:245
~AutoRelease()
Definition XPath2MemoryManager.hpp:211
TYPE & operator*() const
Definition XPath2MemoryManager.hpp:217
TYPE * operator->() const
Definition XPath2MemoryManager.hpp:221
Definition Collation.hpp:30
The execution time dynamic context interface.
Definition DynamicContext.hpp:39
Definition StringPool.hpp:33
The pure virtual base class for accessing variables at runtime.
Definition VariableStore.hpp:32
This is the wrapper class for the variable store, which implements the lookup and scoping of simple v...
Definition VariableTypeStore.hpp:35
Definition XPath2MemoryManager.hpp:46
virtual ATDecimalOrDerived * createInteger(int value)=0
create a ATDecimalOrDerived for the given integer
virtual ~XPath2MemoryManager()
Definition XPath2MemoryManager.hpp:48
virtual VariableTypeStore * createVariableTypeStore()=0
create a store for variables
virtual const XMLCh * getPooledString(const XMLCh *src, unsigned int length)=0
virtual XQillaNSResolver * createNSResolver(xercesc::DOMNode *resolverNode)=0
create a resolver
virtual const XMLCh * getPooledString(const XMLCh *src)=0
Returns a copy of the given string.
virtual size_t getTotalAllocatedMemory() const =0
virtual void reset()=0
Use with extreme caution!
virtual void dumpStatistics() const =0
virtual size_t getAllocatedObjectCount() const =0
virtual const XMLCh * getPooledString(const char *src)=0
virtual void * allocate(size_t numElements)=0
virtual Collation * createCollation(CollationHelper *helper)=0
create a collation
virtual const StringPool * getStringPool() const =0
virtual void deallocate(void *p)=0
Definition XPath2MemoryManager.hpp:86
ptrdiff_t difference_type
Definition XPath2MemoryManager.hpp:89
xercesc::MemoryManager * _memMgr
Definition XPath2MemoryManager.hpp:185
bool operator!=(const XQillaAllocator< _Tp > &o) const
Definition XPath2MemoryManager.hpp:174
void destroy(pointer _p)
Definition XPath2MemoryManager.hpp:154
void construct(pointer _p, const_reference _v)
Definition XPath2MemoryManager.hpp:149
_Tp * pointer
Definition XPath2MemoryManager.hpp:90
size_type max_size() const
Definition XPath2MemoryManager.hpp:159
XQillaAllocator(xercesc::MemoryManager *memMgr)
Definition XPath2MemoryManager.hpp:106
void deallocate(void *_p, size_t _n)
Definition XPath2MemoryManager.hpp:136
XQillaAllocator(const XQillaAllocator< _Tp > &o)
Definition XPath2MemoryManager.hpp:112
_Tp value_type
Definition XPath2MemoryManager.hpp:94
const _Tp & const_reference
Definition XPath2MemoryManager.hpp:93
const _Tp * const_pointer
Definition XPath2MemoryManager.hpp:91
bool operator!=(XQillaAllocator< _Tp > &o)
Definition XPath2MemoryManager.hpp:179
size_type max_size(size_type) const
Definition XPath2MemoryManager.hpp:164
size_t size_type
Definition XPath2MemoryManager.hpp:88
bool operator==(const XQillaAllocator< _Tp > &o) const
Definition XPath2MemoryManager.hpp:169
char _singleton[sizeof(_Tp)]
Definition XPath2MemoryManager.hpp:184
XQillaAllocator()
Definition XPath2MemoryManager.hpp:101
_Tp & reference
Definition XPath2MemoryManager.hpp:92
pointer allocate(size_t _n, const void *=0)
Definition XPath2MemoryManager.hpp:123
virtual void deallocate(void *p)=0
This method deallocates memory.
virtual void * allocate(XMLSize_t size)=0
This method allocates requested memory.
Definition XPath2MemoryManager.hpp:96
XQillaAllocator< _Tp1 > other
Definition XPath2MemoryManager.hpp:97