## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# MutableNodeRefList Class Reference

Local implementation of MutableNodeRefList. More...

Inheritance diagram for MutableNodeRefList:

[legend]
Collaboration diagram for MutableNodeRefList:

[legend]
List of all members.

## Public Types

- typedef NodeListVectorType::iterator NodeListIteratorType

## Public Member Functions

- MutableNodeRefList (MemoryManagerType &theManager)
    Construct an empty mutable node list.
- MutableNodeRefList (const MutableNodeRefList &theSource, MemoryManagerType &theManager)
    Construct a mutable node list from another list.
- MutableNodeRefList (const NodeRefListBase &theSource, MemoryManagerType &theManager)
    Construct a mutable node list from another list.
- virtual ~MutableNodeRefList ()
- MutableNodeRefList & operator= (const MutableNodeRefList &theRHS)
- MutableNodeRefList & operator= (const NodeRefList &theRHS)
- MutableNodeRefList & operator= (const NodeRefListBase &theRHS)
- MutableNodeRefList & operator= (const XalanNodeList *theRHS)
- void addNode (XalanNode *n)
    Add a node at to the list.
- void insertNode (XalanNode *n, size_type pos)
    Insert a node at a given position.
- void removeNode (const XalanNode *n)
    Remove a node from the list.
- void removeNode (size_type pos)
    Remove a node from the list.
- void clear ()
    Remove all nodes.
- void setNode (size_type pos, XalanNode *n=0)
    Set a item.
- void addNodes (const XalanNodeList &nodelist)
    Copy NodeList members into this nodelist, adding in document order.
- void addNodes (const NodeRefListBase &nodelist)
    Copy NodeList members into this nodelist, adding in document order.
- void addNodesInDocOrder (const XalanNodeList &nodelist, XPathExecutionContext &executionContext)
    Copy NodeList members into this nodelist, adding in document order.
- void addNodesInDocOrder (const NodeRefListBase &nodelist, XPathExecutionContext &executionContext)
    Copy NodeList members into this nodelist, adding in document order.
- void addNodesInDocOrder (const MutableNodeRefList &nodelist, XPathExecutionContext &executionContext)
    Copy NodeList members into this nodelist, adding in document order.
- void addNodeInDocOrder (XalanNode *node, XPathExecutionContext &executionContext)
    Add a node into list where it should occur in document order.
- void clearNulls ()
    Clear any null entries in the node list.
- void reverse ()
    Reverse the nodes in the list.
- void reserve (size_type theCount)
    Reserve space for the supplied number of nodes.
- bool getUnknownOrder () const
    See if the order of the nodes is an unknown order.
- void setUnknownOrder ()
- bool getDocumentOrder () const
    See if the order of the nodes is document order.
- void setDocumentOrder ()
    Set the known order of the nodes.
- bool getReverseDocumentOrder () const
    See if the order of the nodes is reverse document order.
- void setReverseDocumentOrder ()
    Set the known order of the nodes.
- void swap (MutableNodeRefList &theOther)

## Static Public Member Functions

- MutableNodeRefList * create (MemoryManagerType &theManager)

## Detailed Description

Local implementation of MutableNodeRefList.

This class is for internal use only.

## Member Typedef Documentation

typedef NodeListVectorType::iterator MutableNodeRefList::NodeListIteratorType

## Constructor & Destructor Documentation

MutableNodeRefList::MutableNodeRefList | ( | MemoryManagerType & | theManager | ) | `[explicit]`

| Construct an empty mutable node list.

MutableNodeRefList::MutableNodeRefList | ( | const MutableNodeRefList & | theSource,
|  | MemoryManagerType & | theManager
| ) |

Construct a mutable node list from another list.

Parameters:

  theSource | source list

MutableNodeRefList::MutableNodeRefList | ( | const NodeRefListBase & | theSource,
|  | MemoryManagerType & | theManager
| ) | `[explicit]`

Construct a mutable node list from another list.

Parameters:

  theSource | source list

virtual MutableNodeRefList::~MutableNodeRefList | ( |  | ) | `[virtual]`

## Member Function Documentation

void MutableNodeRefList::addNode | ( | XalanNode * | n | ) |

Add a node at to the list.

Parameters:

  n | node to add

void MutableNodeRefList::addNodeInDocOrder | ( | XalanNode * | node,
|  | XPathExecutionContext & | executionContext
| ) |

Add a node into list where it should occur in document order.

Parameters:

  node | node object to add
  executionContext | the current execution context

void MutableNodeRefList::addNodes | ( | const NodeRefListBase & | nodelist | ) |

Copy NodeList members into this nodelist, adding in document order.

If a node is null, don't add it.

Parameters:

  nodelist | node list to add

void MutableNodeRefList::addNodes | ( | const XalanNodeList & | nodelist | ) |

Copy NodeList members into this nodelist, adding in document order.

If a node is null, don't add it.

Parameters:

  nodelist | node list to add

void MutableNodeRefList::addNodesInDocOrder | ( | const MutableNodeRefList & | nodelist,
|  | XPathExecutionContext & | executionContext
| ) |

Copy NodeList members into this nodelist, adding in document order.

Parameters:

  nodelist | node list to add
  executionContext | the current execution context

void MutableNodeRefList::addNodesInDocOrder | ( | const NodeRefListBase & | nodelist,
|  | XPathExecutionContext & | executionContext
| ) |

Copy NodeList members into this nodelist, adding in document order.

Parameters:

  nodelist | node list to add
  executionContext | the current execution context

void MutableNodeRefList::addNodesInDocOrder | ( | const XalanNodeList & | nodelist,
|  | XPathExecutionContext & | executionContext
| ) |

Copy NodeList members into this nodelist, adding in document order.

Parameters:

  nodelist | node list to add
  executionContext | the current execution context

void MutableNodeRefList::clear | ( |  | ) |

| Remove all nodes.

void MutableNodeRefList::clearNulls | ( |  | ) |

| Clear any null entries in the node list.

MutableNodeRefList* MutableNodeRefList::create | ( | MemoryManagerType & | theManager | ) | `[static]`

bool MutableNodeRefList::getDocumentOrder | ( |  | ) | const

| See if the order of the nodes is document order.

bool MutableNodeRefList::getReverseDocumentOrder | ( |  | ) | const

| See if the order of the nodes is reverse document order.

bool MutableNodeRefList::getUnknownOrder | ( |  | ) | const

| See if the order of the nodes is an unknown order.

void MutableNodeRefList::insertNode | ( | XalanNode * | n,
|  | size_type | pos
| ) |

Insert a node at a given position.

Parameters:

  n | node to insert
  pos | position of insertion

MutableNodeRefList& MutableNodeRefList::operator= | ( | const XalanNodeList * | theRHS | ) |

MutableNodeRefList& MutableNodeRefList::operator= | ( | const NodeRefListBase & | theRHS | ) |

| Reimplemented from NodeRefList.

MutableNodeRefList& MutableNodeRefList::operator= | ( | const NodeRefList & | theRHS | ) |

| Reimplemented from NodeRefList.

MutableNodeRefList& MutableNodeRefList::operator= | ( | const MutableNodeRefList & | theRHS | ) |

void MutableNodeRefList::removeNode | ( | size_type | pos | ) |

Remove a node from the list.

Parameters:

  pos | position of node in list

void MutableNodeRefList::removeNode | ( | const XalanNode * | n | ) |

Remove a node from the list.

Parameters:

  n | node to insert

void MutableNodeRefList::reserve | ( | size_type | theCount | ) |

Reserve space for the supplied number of nodes.

This is taken as an optimization, and may be ignored. You might want to call this when you know the number of nodes you're about to add to this list.

Remember to take into account the current size of the list when calling this. That means you will probably want to add the result of getLength() to the number of nodes you're planning to add.

Parameters:

  theCount | the number of nodes to reserve space for

void MutableNodeRefList::reverse | ( |  | ) |

| Reverse the nodes in the list.

void MutableNodeRefList::setDocumentOrder | ( |  | ) |

| Set the known order of the nodes. This should only be done when the order is known. Otherwise, disaster will ensue.

void MutableNodeRefList::setNode | ( | size_type | pos,
|  | XalanNode * | n = 0
| ) |

Set a item.

Parameters:

  pos | position of node to modify
  n | node to insert, default is empty node

void MutableNodeRefList::setReverseDocumentOrder | ( |  | ) |

| Set the known order of the nodes. This should only be done when the order is known. Otherwise, disaster will ensue.

void MutableNodeRefList::setUnknownOrder | ( |  | ) |

void MutableNodeRefList::swap | ( | MutableNodeRefList & | theOther | ) |

The documentation for this class was generated from the following file:

- MutableNodeRefList.hpp

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.