21 #if !defined(XALANLIST_HEADER_GUARD_1357924680)
22 #define XALANLIST_HEADER_GUARD_1357924680
44 XALAN_CPP_NAMESPACE_BEGIN
48 template <
class Value>
56 template <
class Value>
64 template<
class XalanListTraits,
class Node>
68 typedef typename XalanListTraits::reference
reference;
69 typedef typename XalanListTraits::pointer
pointer;
109 while (decrement > 0)
156 template <
class Type>
192 #if defined(XALAN_HAS_STD_ITERATORS)
195 #elif defined(XALAN_RW_NO_CLASS_PARTIAL_SPEC)
198 XALAN_STD_QUALIFIER bidirectional_iterator_tag,
202 XALAN_STD_QUALIFIER bidirectional_iterator_tag,
233 while (freeNode != 0)
235 Node * nextNode = freeNode->
next;
325 while (item !=
end())
372 assert(pos !=
end());
390 Node & posNode = pos.
node();
391 Node & toInsertNode = toInsert.node();
397 toInsertNode.
next = &posNode;
400 posNode.
prev = &toInsertNode;
417 if (toInsertFirst != toInsertLast)
419 Node & posNode = pos.
node();
420 Node & toInsertFirstNode = toInsertFirst.node();
421 Node & toInsertLastNode = *(toInsertLast.
node().
prev);
426 toInsertFirstNode.
prev = posNode.
prev;
427 toInsertLastNode.
next = &posNode;
429 posNode.
prev->
next = &toInsertFirstNode;
430 posNode.
prev = &toInsertLastNode;
446 #if defined(XALAN_NO_STD_NAMESPACE)
463 Node * nextFreeNode = 0;
477 new (&newNode->prev) Node*(pos.
node().
prev);
478 new (&newNode->next) Node*(&(pos.
node()));
490 node.prev->next = node.next;
491 node.next->prev = node.prev;
526 const size_type theBytesNeeded = size *
sizeof(Node);
532 assert( pointer != 0 );
563 XALAN_CPP_NAMESPACE_END
565 #endif // XALANLIST_HEADER_GUARD_1357924680
const_reverse_iterator_ const_reverse_iterator
Definition: XalanList.hpp:210
XalanListIteratorBase operator-(difference_type decrement) const
Definition: XalanList.hpp:106
bool empty() const
Definition: XalanList.hpp:334
Type value_type
Definition: XalanList.hpp:162
Definition: XalanList.hpp:49
MemoryManagerType & getMemoryManager()
Definition: XalanList.hpp:245
Node & constructNode(const value_type &data, iterator pos)
Definition: XalanList.hpp:460
void pop_back()
Definition: XalanList.hpp:358
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
void push_front(const value_type &data)
Definition: XalanList.hpp:346
const_iterator begin() const
Definition: XalanList.hpp:267
XalanListIteratorBase(Node &node)
Definition: XalanList.hpp:77
value_type * pointer
Definition: XalanList.hpp:163
XalanListIteratorBase< XalanListConstIteratorTraits< value_type >, Node > const_iterator
Definition: XalanList.hpp:190
XALAN_STD_QUALIFIER reverse_iterator< const_iterator, value_type, const_reference > const_reverse_iterator_
Definition: XalanList.hpp:206
Node & getListHead()
Definition: XalanList.hpp:506
XALAN_STD_QUALIFIER bidirectional_iterator_tag iterator_category
Definition: XalanList.hpp:73
XalanListIteratorBase< XalanListIteratorTraits< value_type >, Node > iterator
Definition: XalanList.hpp:75
void pop_front()
Definition: XalanList.hpp:352
XalanList(MemoryManagerType &theManager)
Definition: XalanList.hpp:214
iterator end()
Definition: XalanList.hpp:273
const_reverse_iterator rend() const
Definition: XalanList.hpp:303
Node & node()
Definition: XalanList.hpp:143
reverse_iterator_ reverse_iterator
Definition: XalanList.hpp:209
bool operator!=(const XalanListIteratorBase &theRhs) const
Definition: XalanList.hpp:133
Node * next
Definition: XalanList.hpp:185
Definition: XalanList.hpp:171
reference front()
Definition: XalanList.hpp:309
Definition: XalanMemoryManagement.hpp:430
Value & reference
Definition: XalanList.hpp:52
const Value & reference
Definition: XalanList.hpp:60
pointer operator->() const
Definition: XalanList.hpp:122
value_type value
Definition: XalanList.hpp:183
reverse_iterator rend()
Definition: XalanList.hpp:297
XalanListIteratorBase(const iterator &theRhs)
Definition: XalanList.hpp:82
const_reverse_iterator rbegin() const
Definition: XalanList.hpp:291
Node * allocate(size_type size)
Definition: XalanList.hpp:524
XalanListIteratorBase< XalanListIteratorTraits< value_type >, Node > iterator
Definition: XalanList.hpp:188
Node & getListHead() const
Definition: XalanList.hpp:518
reference operator*() const
Definition: XalanList.hpp:117
iterator begin()
Definition: XalanList.hpp:261
void splice(iterator pos, ThisType &list, iterator toInsert)
Definition: XalanList.hpp:377
XalanListTraits::pointer pointer
Definition: XalanList.hpp:69
void destroyNode(Node &node)
Definition: XalanList.hpp:499
value_type & reference
Definition: XalanList.hpp:165
void clear()
Definition: XalanList.hpp:435
XALAN_STD_QUALIFIER reverse_iterator< iterator, value_type > reverse_iterator_
Definition: XalanList.hpp:205
const_iterator end() const
Definition: XalanList.hpp:279
Xalan implementation of a doubly linked list.
Definition: XalanList.hpp:157
static C * construct(C *address, MemoryManager &)
Definition: XalanMemoryManagement.hpp:434
XalanListTraits::value_type value_type
Definition: XalanList.hpp:67
size_t size_type
Definition: XalanList.hpp:167
ptrdiff_t difference_type
Definition: XalanList.hpp:71
const MemoryManagerType & getMemoryManager() const
Definition: XalanList.hpp:253
XalanListIteratorBase operator++()
Definition: XalanList.hpp:87
Node * m_freeListHeadPtr
Definition: XalanList.hpp:550
Node * prev
Definition: XalanList.hpp:184
MemoryManagerType * m_memoryManager
Definition: XalanList.hpp:546
XalanList< value_type > ThisType
Definition: XalanList.hpp:169
void push_back(const value_type &data)
Definition: XalanList.hpp:340
void splice(iterator pos, ThisType &list, iterator toInsertFirst, iterator toInsertLast)
Definition: XalanList.hpp:405
XalanListIteratorBase operator--()
Definition: XalanList.hpp:100
reference back()
Definition: XalanList.hpp:315
void swap(ThisType &theRHS)
Definition: XalanList.hpp:444
bool operator==(const XalanListIteratorBase &theRhs) const
Definition: XalanList.hpp:138
Value value_type
Definition: XalanList.hpp:59
Node * currentNode
Definition: XalanList.hpp:148
XalanListIteratorBase operator++(int)
Definition: XalanList.hpp:93
Value * pointer
Definition: XalanList.hpp:53
const Value * pointer
Definition: XalanList.hpp:61
MemoryManagedConstructionTraits< value_type >::Constructor Constructor
Definition: XalanList.hpp:212
XalanListTraits::reference reference
Definition: XalanList.hpp:68
const XalanListIteratorBase & operator=(const XalanListIteratorBase &theRhs)
Definition: XalanList.hpp:127
void deallocate(Node *pointer)
Definition: XalanList.hpp:539
reverse_iterator rbegin()
Definition: XalanList.hpp:285
Definition: XalanList.hpp:57
iterator insert(const iterator &pos, const value_type &value)
Definition: XalanList.hpp:364
Definition: XalanList.hpp:65
~XalanList()
Definition: XalanList.hpp:222
Node * m_listHead
Definition: XalanList.hpp:548
void freeNode(Node &node)
Definition: XalanList.hpp:488
Value value_type
Definition: XalanList.hpp:51
const value_type * const_pointer
Definition: XalanList.hpp:164
const value_type & const_reference
Definition: XalanList.hpp:166
size_type size() const
Definition: XalanList.hpp:321
void erase(iterator pos)
Definition: XalanList.hpp:370
Node(const value_type &theValue, Node &prevNode, Node &nextNode)
Definition: XalanList.hpp:173