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;
51 virtual void reset() = 0;
54 virtual const XMLCh* getPooledString(
const XMLCh *src) = 0;
55 virtual const XMLCh* getPooledString(
const XMLCh *src,
unsigned int length) = 0;
56 virtual const XMLCh* getPooledString(
const char *src) = 0;
59 #if _XERCES_VERSION >= 30000
60 virtual void* allocate(XMLSize_t numElements) = 0;
62 virtual void* allocate(
size_t numElements) = 0;
64 virtual void deallocate(
void* p) = 0;
67 virtual Collation* createCollation(CollationHelper* helper) = 0;
70 virtual XQillaNSResolver* createNSResolver(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *resolverNode) = 0;
78 virtual void dumpStatistics()
const = 0;
79 virtual size_t getAllocatedObjectCount()
const = 0;
80 virtual size_t getTotalAllocatedMemory()
const = 0;
81 virtual const StringPool *getStringPool()
const = 0;
96 template <
class _Tp1>
struct rebind {
129 return _n != 0 ?
static_cast<pointer
>(
_memMgr->
allocate(_n*
sizeof(_Tp))) : 0;
131 return _n != 0 ?
static_cast<pointer
>(malloc(_n*
sizeof(_Tp))) : 0;
149 new ((
void *)_p) _Tp(_v);
183 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager*
_memMgr;
192 inline void *
operator new(
size_t amt, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
198 inline void operator delete(
void* ptr, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
200 memMgr->deallocate(ptr);
223 operator TYPE*()
const
276 operator TYPE*()
const
328 operator TYPE*()
const
365 AutoDeallocate(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *mmgr,
size_t size =
sizeof(TYPE))
366 : p_(0), mmgr_(mmgr) {
370 : p_(p), mmgr_(mmgr) {}
385 operator TYPE*()
const
417 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *mmgr_;
420 #endif //__XPATH2MEMORYMANAGER_HPP
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:268
XQillaAllocator(xercesc::MemoryManager *memMgr)
Definition: XPath2MemoryManager.hpp:106
bool operator==(const XQillaAllocator< _Tp > &o) const
Definition: XPath2MemoryManager.hpp:167
Definition: XPath2MemoryManager.hpp:362
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:399
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:336
_Tp value_type
Definition: XPath2MemoryManager.hpp:94
char _singleton[sizeof(_Tp)]
Definition: XPath2MemoryManager.hpp:182
Definition: XPath2MemoryManager.hpp:45
~AutoDeleteArray()
Definition: XPath2MemoryManager.hpp:315
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:272
This is the wrapper class for the variable store, which implements the lookup and scoping of simple v...
Definition: VariableTypeStore.hpp:34
virtual void deallocate(void *p)=0
This method deallocates memory.
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:284
void deallocate(void *_p, size_t _n)
Definition: XPath2MemoryManager.hpp:134
Definition: XPath2MemoryManager.hpp:85
size_type max_size(size_type) const
Definition: XPath2MemoryManager.hpp:162
Definition: XPath2MemoryManager.hpp:310
~AutoDelete()
Definition: XPath2MemoryManager.hpp:263
void construct(pointer _p, const_reference _v)
Definition: XPath2MemoryManager.hpp:147
xercesc::MemoryManager * _memMgr
Definition: XPath2MemoryManager.hpp:183
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:237
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:342
_Tp & reference
Definition: XPath2MemoryManager.hpp:92
AutoRelease(TYPE *p)
Definition: XPath2MemoryManager.hpp:207
virtual ~XPath2MemoryManager()
Definition: XPath2MemoryManager.hpp:48
virtual void * allocate(XMLSize_t size)=0
This method allocates requested memory.
AutoDeallocate(xercesc::MemoryManager *mmgr, size_t size=sizeof(TYPE))
Definition: XPath2MemoryManager.hpp:365
AutoDeleteArray(TYPE *p)
Definition: XPath2MemoryManager.hpp:313
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:320
AutoDeallocate(TYPE *p, xercesc::MemoryManager *mmgr)
Definition: XPath2MemoryManager.hpp:369
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:324
void destroy(pointer _p)
Definition: XPath2MemoryManager.hpp:152
Definition: StringPool.hpp:32
Definition: Collation.hpp:29
size_t size_type
Definition: XPath2MemoryManager.hpp:88
const _Tp & const_reference
Definition: XPath2MemoryManager.hpp:93
_Tp * pointer
Definition: XPath2MemoryManager.hpp:90
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:243
ptrdiff_t difference_type
Definition: XPath2MemoryManager.hpp:89
Definition: XPath2MemoryManager.hpp:204
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:405
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:231
The execution time dynamic context interface.
Definition: DynamicContext.hpp:38
The pure virtual base class for accessing variables at runtime.
Definition: VariableStore.hpp:31
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:290
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:393
bool operator!=(XQillaAllocator< _Tp > &o)
Definition: XPath2MemoryManager.hpp:177
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:215
size_type max_size() const
Definition: XPath2MemoryManager.hpp:157
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:296
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:348
bool operator!=(const XQillaAllocator< _Tp > &o) const
Definition: XPath2MemoryManager.hpp:172
pointer allocate(size_t _n, const void *=0)
Definition: XPath2MemoryManager.hpp:123
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:381
Definition: XPath2MemoryManager.hpp:96
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:377
~AutoDeallocate()
Definition: XPath2MemoryManager.hpp:371
~AutoRelease()
Definition: XPath2MemoryManager.hpp:209
XQillaAllocator(const XQillaAllocator< _Tp > &o)
Definition: XPath2MemoryManager.hpp:112
XQillaAllocator()
Definition: XPath2MemoryManager.hpp:101
const _Tp * const_pointer
Definition: XPath2MemoryManager.hpp:91
Definition: ATDecimalOrDerived.hpp:29
AutoDelete(TYPE *p)
Definition: XPath2MemoryManager.hpp:261
XQillaAllocator< _Tp1 > other
Definition: XPath2MemoryManager.hpp:97
Definition: XPath2MemoryManager.hpp:258
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:219