class RXmlEngNodeList |
Implements an iterator or filtered iterator for a tree.
This classes behaves in two very different ways, depending on the template parameter.
1) RXmlEngNodeList<TXmlEngNode>
Through template specialization, this becomes an alias for RXmlEngNodeListImpl. The RXmlEngNodeListImpl::OpenL() methods control which nodes are included in the iterator. It is possible to iterate across all node types or only a single type. It is possible to iterate only over nodes within a specific namespace. It is also possible to iterate over nodes with the same name.
RXmlEngNodeListImpl should not be used directly.
2) RXmlEngNodeList<X> where X is not TXmlEngNode
As the OpenL() methods of this class are private, this class cannot be opened except by friend classes TXmlEngNode and TXmlEngElement. As such, this form should not be used.
Public Member Functions | |
---|---|
void | Close() |
TInt | Count() |
TBool | HasNext() |
T | Next() |
Private Member Functions | |
---|---|
void | Open(void *, TXmlEngNode::TXmlEngDOMNodeType) |
void | OpenL(void *, TXmlEngNode::TXmlEngDOMNodeType, const TDesC8 &, const TDesC8 &) |
Private Attributes | |
---|---|
RXmlEngNodeListImpl | iList |
void | Close | ( | ) | [inline] |
Closes a node list. This does not affect any of the nodes. Only internally used memory is freed.
TBool | HasNext | ( | ) | const [inline] |
Checks whether a next node exists in the list ETrue of a next node exists, EFalse otherwise
T | Next | ( | ) | [inline] |
Gets the next node in the list The next node casted to the templated type or NULL if it does not exist
void | Open | ( | void * | aHead, |
TXmlEngNode::TXmlEngDOMNodeType | aType | |||
) | [private, inline] |
void * aHead | |
TXmlEngNode::TXmlEngDOMNodeType aType |
void | OpenL | ( | void * | aHead, |
TXmlEngNode::TXmlEngDOMNodeType | aType, | |||
const TDesC8 & | aName = KNullDesC8 , | |||
const TDesC8 & | aNs = KNullDesC8 | |||
) | [private, inline] |
void * aHead | |
TXmlEngNode::TXmlEngDOMNodeType aType | |
const TDesC8 & aName = KNullDesC8 | |
const TDesC8 & aNs = KNullDesC8 |