16 #if !defined(XALAN_OBJECTSTACKCACHE_HEADER_GUARD)
17 #define XALAN_OBJECTSTACKCACHE_HEADER_GUARD
32 XALAN_CPP_NAMESPACE_BEGIN
37 #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
38 class CreateFunctorType,
39 class DeleteFunctorType,
40 class ResetFunctorType>
56 unsigned int initialListSize = 0) :
60 m_numObjectsOnStack(0)
62 m_stack.
reserve(initialListSize);
68 #if !defined(XALAN_NO_STD_NAMESPACE)
81 if (m_stack.
size() == m_numObjectsOnStack)
85 ++m_numObjectsOnStack;
90 return m_stack[m_numObjectsOnStack++];
97 assert (m_numObjectsOnStack > 0);
99 return m_stack[m_numObjectsOnStack-1];
105 assert(m_numObjectsOnStack > 0);
107 return m_stack[--m_numObjectsOnStack];
115 for (iterator = m_stack.
begin(); iterator < m_stack.
end(); iterator++)
147 template<
class ObjectType>
163 XALAN_CPP_NAMESPACE_END