20 #ifndef __XPATH2MEMORYMANAGER_HPP
21 #define __XPATH2MEMORYMANAGER_HPP
27 #include <xqilla/framework/XQillaExport.hpp>
31 XERCES_CPP_NAMESPACE_BEGIN
34 XERCES_CPP_NAMESPACE_END
40 class CollationHelper;
41 class 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;
194 inline void *
operator new(
size_t amt, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
200 inline 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 * adopt()
Definition: XPath2MemoryManager.hpp:395
AutoDeallocate(xercesc::MemoryManager *mmgr, size_t size=sizeof(TYPE))
Definition: XPath2MemoryManager.hpp:367
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:379
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
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:401
~AutoDeallocate()
Definition: XPath2MemoryManager.hpp:373
Definition: XPath2MemoryManager.hpp:313
AutoDeleteArray(TYPE *p)
Definition: XPath2MemoryManager.hpp:315
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:326
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:322
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:344
~AutoDeleteArray()
Definition: XPath2MemoryManager.hpp:317
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:350
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:338
TYPE * get() const
Definition: XPath2MemoryManager.hpp:334
Definition: XPath2MemoryManager.hpp:261
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:274
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:286
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:292
AutoDelete(TYPE *p)
Definition: XPath2MemoryManager.hpp:263
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:270
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:298
TYPE * get() const
Definition: XPath2MemoryManager.hpp:282
~AutoDelete()
Definition: XPath2MemoryManager.hpp:265
Definition: XPath2MemoryManager.hpp:207
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:239
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:233
AutoRelease(TYPE *p)
Definition: XPath2MemoryManager.hpp:209
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:245
~AutoRelease()
Definition: XPath2MemoryManager.hpp:211
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:217
TYPE * get() const
Definition: XPath2MemoryManager.hpp:229
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 const XMLCh * getPooledString(const char *src)=0
virtual VariableTypeStore * createVariableTypeStore()=0
create a store for variables
virtual Collation * createCollation(CollationHelper *helper)=0
create a collation
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 XMLCh *src, unsigned int length)=0
virtual void * allocate(size_t numElements)=0
virtual const StringPool * getStringPool() const =0
virtual const XMLCh * getPooledString(const XMLCh *src)=0
Returns a copy of the given string.
virtual XQillaNSResolver * createNSResolver(xercesc::DOMNode *resolverNode)=0
create a resolver
virtual void deallocate(void *p)=0
This method deallocates memory.
Definition: XPath2MemoryManager.hpp:86
size_t size_type
Definition: XPath2MemoryManager.hpp:88
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 & reference
Definition: XPath2MemoryManager.hpp:92
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
_Tp * pointer
Definition: XPath2MemoryManager.hpp:90
ptrdiff_t difference_type
Definition: XPath2MemoryManager.hpp:89
XQillaAllocator(const XQillaAllocator< _Tp > &o)
Definition: XPath2MemoryManager.hpp:112
bool operator!=(XQillaAllocator< _Tp > &o)
Definition: XPath2MemoryManager.hpp:179
size_type max_size(size_type) const
Definition: XPath2MemoryManager.hpp:164
_Tp value_type
Definition: XPath2MemoryManager.hpp:94
const _Tp * const_pointer
Definition: XPath2MemoryManager.hpp:91
xercesc::MemoryManager * _memMgr
Definition: XPath2MemoryManager.hpp:185
bool operator==(const XQillaAllocator< _Tp > &o) const
Definition: XPath2MemoryManager.hpp:169
const _Tp & const_reference
Definition: XPath2MemoryManager.hpp:93
char _singleton[sizeof(_Tp)]
Definition: XPath2MemoryManager.hpp:184
XQillaAllocator()
Definition: XPath2MemoryManager.hpp:101
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