57 enum { eDefaultBlockSize = 500 };
78 for(
iter = m_list.begin();
iter != m_list.end(); ++
iter)
80 if( (*iter).second != 0)
82 (*iter).second->VectorType::~VectorType();
107 if (m_list.empty() ==
true)
109 m_lastEntryFound = 0;
118 (*theCurrent).first = (*theCurrent).second->size();
123 m_lastEntryFound = &*m_list.begin();
150 return createEntry(m_blockSize,
theCount);
180 m_list.push_back(ListEntryType(0, VectorType::create(m_list.getMemoryManager())));
199 return &*theNewEntry.second->begin();
203 findEntry(size_type theCount)
207 if (m_lastEntryFound != 0 && m_lastEntryFound->first >= theCount)
209 return m_lastEntryFound;
213 const ListIteratorType theEnd = m_list.end();
214 ListIteratorType theCurrent = m_list.begin();
216 ListEntryType* theEntry = 0;
218 while(theCurrent != theEnd)
224 if ((*theCurrent).first == theCount)
226 theEntry = &*theCurrent;
230 else if ((*theCurrent).first >= theCount)
240 (*theCurrent).first < theEntry->first)
243 theEntry = &*theCurrent;
255 m_lastEntryFound = theEntry;
262 XalanArrayAllocator(
const XalanArrayAllocator<Type>& theSource);
264 XalanArrayAllocator<Type>&
265 operator=(
const XalanArrayAllocator<Type>& theSource);
268 operator==(
const XalanArrayAllocator<Type>& theRHS)
const;
276 ListEntryType* m_lastEntryFound;