22 #ifndef __XPATH2MEMORYMANAGER_HPP
23 #define __XPATH2MEMORYMANAGER_HPP
29 #include <xqilla/framework/XQillaExport.hpp>
33 XERCES_CPP_NAMESPACE_BEGIN
36 XERCES_CPP_NAMESPACE_END
42 class CollationHelper;
43 class XQillaNSResolver;
53 virtual void reset() = 0;
56 virtual const XMLCh* getPooledString(
const XMLCh *src) = 0;
57 virtual const XMLCh* getPooledString(
const XMLCh *src,
unsigned int length) = 0;
58 virtual const XMLCh* getPooledString(
const char *src) = 0;
61 #if _XERCES_VERSION >= 30000
62 virtual void* allocate(XMLSize_t numElements) = 0;
64 virtual void* allocate(
size_t numElements) = 0;
66 virtual void deallocate(
void* p) = 0;
69 virtual Collation* createCollation(CollationHelper* helper) = 0;
72 virtual XQillaNSResolver* createNSResolver(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *resolverNode) = 0;
80 virtual void dumpStatistics()
const = 0;
81 virtual size_t getAllocatedObjectCount()
const = 0;
82 virtual size_t getTotalAllocatedMemory()
const = 0;
83 virtual const StringPool *getStringPool()
const = 0;
98 template <
class _Tp1>
struct rebind {
133 return _n != 0 ?
static_cast<pointer>(malloc(_n*
sizeof(_Tp))) : 0;
151 new ((
void *)_p) _Tp(_v);
170 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager*
_memMgr;
179 inline void *
operator new(
size_t amt, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
185 inline void operator delete(
void* ptr, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr)
187 memMgr->deallocate(ptr);
210 operator TYPE*()
const
263 operator TYPE*()
const
315 operator TYPE*()
const
352 AutoDeallocate(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *mmgr,
size_t size =
sizeof(TYPE))
353 : p_(0), mmgr_(mmgr) {
357 : p_(p), mmgr_(mmgr) {}
372 operator TYPE*()
const
404 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *mmgr_;
407 #endif //__XPATH2MEMORYMANAGER_HPP
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:255
XQillaAllocator(xercesc::MemoryManager *memMgr)
Definition: XPath2MemoryManager.hpp:108
Definition: XPath2MemoryManager.hpp:349
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:386
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:323
_Tp value_type
Definition: XPath2MemoryManager.hpp:96
char _singleton[sizeof(_Tp)]
Definition: XPath2MemoryManager.hpp:169
Definition: XPath2MemoryManager.hpp:47
~AutoDeleteArray()
Definition: XPath2MemoryManager.hpp:302
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:259
This is the wrapper class for the variable store, which implements the lookup and scoping of simple v...
Definition: VariableTypeStore.hpp:35
virtual void deallocate(void *p)=0
This method deallocates memory.
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:271
void deallocate(void *_p, size_t _n)
Definition: XPath2MemoryManager.hpp:136
Definition: XPath2MemoryManager.hpp:87
size_type max_size(size_type) const
Definition: XPath2MemoryManager.hpp:164
Definition: XPath2MemoryManager.hpp:297
~AutoDelete()
Definition: XPath2MemoryManager.hpp:250
void construct(pointer _p, const_reference _v)
Definition: XPath2MemoryManager.hpp:149
xercesc::MemoryManager * _memMgr
Definition: XPath2MemoryManager.hpp:170
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:224
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:329
_Tp & reference
Definition: XPath2MemoryManager.hpp:94
AutoRelease(TYPE *p)
Definition: XPath2MemoryManager.hpp:194
virtual ~XPath2MemoryManager()
Definition: XPath2MemoryManager.hpp:50
virtual void * allocate(XMLSize_t size)=0
This method allocates requested memory.
AutoDeleteArray(TYPE *p)
Definition: XPath2MemoryManager.hpp:300
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:307
AutoDeallocate(TYPE *p, xercesc::MemoryManager *mmgr)
Definition: XPath2MemoryManager.hpp:356
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:311
void destroy(pointer _p)
Definition: XPath2MemoryManager.hpp:154
Definition: StringPool.hpp:34
Definition: Collation.hpp:31
size_t size_type
Definition: XPath2MemoryManager.hpp:90
const _Tp & const_reference
Definition: XPath2MemoryManager.hpp:95
_Tp * pointer
Definition: XPath2MemoryManager.hpp:92
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:230
ptrdiff_t difference_type
Definition: XPath2MemoryManager.hpp:91
Definition: XPath2MemoryManager.hpp:191
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:392
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:218
The execution time dynamic context interface.
Definition: DynamicContext.hpp:39
The pure virtual base class for accessing variables at runtime.
Definition: VariableStore.hpp:33
TYPE * swap(TYPE *p)
Definition: XPath2MemoryManager.hpp:277
TYPE * adopt()
Definition: XPath2MemoryManager.hpp:380
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:202
size_type max_size() const
Definition: XPath2MemoryManager.hpp:159
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:283
void set(TYPE *p)
Definition: XPath2MemoryManager.hpp:335
pointer allocate(size_t _n, const void *=0)
Definition: XPath2MemoryManager.hpp:125
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:368
Definition: XPath2MemoryManager.hpp:98
TYPE & operator*() const
Definition: XPath2MemoryManager.hpp:364
~AutoDeallocate()
Definition: XPath2MemoryManager.hpp:358
~AutoRelease()
Definition: XPath2MemoryManager.hpp:196
XQillaAllocator(const XQillaAllocator< _Tp > &o)
Definition: XPath2MemoryManager.hpp:114
XQillaAllocator()
Definition: XPath2MemoryManager.hpp:103
const _Tp * const_pointer
Definition: XPath2MemoryManager.hpp:93
Definition: ATDecimalOrDerived.hpp:31
AutoDelete(TYPE *p)
Definition: XPath2MemoryManager.hpp:248
XQillaAllocator< _Tp1 > other
Definition: XPath2MemoryManager.hpp:99
Definition: XPath2MemoryManager.hpp:245
TYPE * operator->() const
Definition: XPath2MemoryManager.hpp:206