18 #if !defined(XALAN_OBJECTSTACKCACHE_HEADER_GUARD)
19 #define XALAN_OBJECTSTACKCACHE_HEADER_GUARD
34 XALAN_CPP_NAMESPACE_BEGIN
39 #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
40 class CreateFunctorType,
41 class DeleteFunctorType,
42 class ResetFunctorType>
58 MemoryManager& theManager,
59 XalanSize_t initialListSize = 0) :
63 m_numObjectsOnStack(0)
65 m_stack.
reserve(initialListSize);
70 #if !defined(XALAN_NO_STD_NAMESPACE)
83 if (m_stack.
size() == m_numObjectsOnStack)
87 ++m_numObjectsOnStack;
92 return m_stack[m_numObjectsOnStack++];
99 assert (m_numObjectsOnStack > 0);
101 return m_stack[m_numObjectsOnStack-1];
107 assert(m_numObjectsOnStack > 0);
109 return m_stack[--m_numObjectsOnStack];
117 for (iterator = m_stack.
begin(); iterator < m_stack.
end(); iterator++)
149 template<
class ObjectType>
165 XALAN_CPP_NAMESPACE_END