RXmlEngNodeList Class Reference

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.

RXmlEngNodeListImpl

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
voidClose()
TInt Count()
TBool HasNext()
TNext()
Private Member Functions
voidOpen(void *, TXmlEngNode::TXmlEngDOMNodeType)
voidOpenL(void *, TXmlEngNode::TXmlEngDOMNodeType, const TDesC8 &, const TDesC8 &)
Private Attributes
RXmlEngNodeListImpl iList

Member Functions Documentation

Close()

voidClose()[inline]

Closes a node list. This does not affect any of the nodes. Only internally used memory is freed.

Count()

TInt Count()const [inline]

Gets the list length. The number of nodes in the list

HasNext()

TBool HasNext()const [inline]

Checks whether a next node exists in the list ETrue of a next node exists, EFalse otherwise

Next()

TNext()[inline]

Gets the next node in the list The next node casted to the templated type or NULL if it does not exist

Open(void *, TXmlEngNode::TXmlEngDOMNodeType)

voidOpen(void *aHead,
TXmlEngNode::TXmlEngDOMNodeTypeaType
)[private, inline]

Parameters

void * aHead
TXmlEngNode::TXmlEngDOMNodeType aType

OpenL(void *, TXmlEngNode::TXmlEngDOMNodeType, const TDesC8 &, const TDesC8 &)

voidOpenL(void *aHead,
TXmlEngNode::TXmlEngDOMNodeTypeaType,
const TDesC8 &aName =  KNullDesC8 ,
const TDesC8 &aNs =  KNullDesC8
)[private, inline]

Parameters

void * aHead
TXmlEngNode::TXmlEngDOMNodeType aType
const TDesC8 & aName =  KNullDesC8
const TDesC8 & aNs =  KNullDesC8

Member Data Documentation

RXmlEngNodeListImpl iList

RXmlEngNodeListImpl iList[private]