17 #if !defined(ARENABLOCKBASE_INCLUDE_GUARD_1357924680)
18 #define ARENABLOCKBASE_INCLUDE_GUARD_1357924680
28 #if !defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
33 XALAN_CPP_NAMESPACE_BEGIN
36 #if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
39 class ArenaBlockAllocator
44 typedef ptrdiff_t difference_type;
45 typedef Type* pointer;
46 typedef const Type* const_pointer;
47 typedef Type& reference;
48 typedef const Type& const_reference;
49 typedef Type value_type;
52 m_memoryManager(theManager)
56 ~ArenaBlockAllocator()
63 return m_memoryManager;
71 return (pointer)m_memoryManager.allocate(size *
sizeof(Type));
81 m_memoryManager.deallocate(p);
88 ArenaBlockAllocator(
const ArenaBlockAllocator<Type>&);
90 ArenaBlockAllocator<Type>&
91 operator=(
const ArenaBlockAllocator<Type>&);
99 template<
class ObjectType,
100 #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
103 class SizeType =
size_t>
111 #if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
193 #if defined(XALAN_NEW_STD_ALLOCATOR)
199 assert(theBlockSize > 0);
220 const ObjectType* theObject,
230 XALAN_STD_QUALIFIER less<const ObjectType*> functor;
297 XALAN_CPP_NAMESPACE_END
301 #endif // !defined(ARENABLOCKBASE_INCLUDE_GUARD_1357924680)