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
Definition: XalanObjectCache.hpp:265
ObjectType * top()
Definition: XalanObjectStackCache.hpp:95
~XalanObjectStackCache()
Definition: XalanObjectStackCache.hpp:66
ResetFunctorType m_resetFunctor
Definition: XalanObjectStackCache.hpp:126
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
iterator end()
Definition: XalanVector.hpp:701
value_type * iterator
Definition: XalanVector.hpp:91
void reset()
Definition: XalanObjectStackCache.hpp:111
CreateFunctorType m_createFunctor
Definition: XalanObjectStackCache.hpp:122
Definition: XalanObjectCache.hpp:82
void push_back(const value_type &data)
Definition: XalanVector.hpp:246
ObjectType * release()
Definition: XalanObjectStackCache.hpp:103
iterator begin()
Definition: XalanVector.hpp:685
Definition: XalanObjectStackCache.hpp:46
Definition: XalanObjectStackCache.hpp:148
void reserve(size_type theSize)
Definition: XalanVector.hpp:644
XalanObjectStackCache(MemoryManagerType &theManager, unsigned int initialListSize=0)
Definition: XalanObjectStackCache.hpp:55
ObjectType CacheObjectType
Definition: XalanObjectStackCache.hpp:52
size_t size_type
Definition: XalanVector.hpp:71
size_type size() const
Definition: XalanVector.hpp:571
XalanObjectStackCacheDefault(unsigned int initialListSize=0)
Definition: XalanObjectStackCache.hpp:155
Definition: XalanObjectCache.hpp:36
XalanVector< ObjectType * > VectorType
Definition: XalanObjectStackCache.hpp:50
DeleteFunctorType m_deleteFunctor
Definition: XalanObjectStackCache.hpp:124
const MemoryManager * getMemoryManager() const
Definition: XalanVector.hpp:871
XalanObjectStackCache< ObjectType, DefaultCacheCreateFunctor< ObjectType >, DeleteFunctor< ObjectType >, DefaultCacheResetFunctor< ObjectType > > BaseClassType
Definition: XalanObjectStackCache.hpp:152