User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
Ravl - Core - XML - XMLTreeC
 

  PUBLIC
XMLTreeC::XMLTreeC(void)
XMLTreeC::XMLTreeC(bool)
XMLTreeC::XMLTreeC(const StringC &,RCHashC &)
XMLTreeC::XMLTreeC(XMLIStreamC &)
XMLTreeC::XMLTreeC(HashTreeC> &)
XMLTreeC::Read(XMLIStreamC &)
XMLTreeC::Name(void) const
HashTreeC::Follow(const DListC &)
HashTreeC::Child(const KeyT &,HashTreeNodeC &)
HashTreeC::Add(const KeyT &,const DataT &)
HashTreeC::Add(const KeyT &,const HashTreeC &)
HashTreeC::Children(void)
HashTreeC::Children(void) const
HashTreeNodeC::Data(void)
HashTreeNodeC::Data(void) const
HashTreeNodeC::IsLeaf(void) const
HashTreeNodeC::Dump(ostream &,int) const
RCHandleC::operator =(const RCHandleC &)
RCHandleC::DeepCopy(UIntT) const
RCHandleC::operator ==(const RCHandleC &) const
RCHandleC::operator !=(const RCHandleC &) const
RCHandleC::Hash(void) const
RCHandleC::IsValid(void) const
RCHandleC::Invalidate(void)
RCHandleC::IsHandleType(const DT &) const
RCHandleC::CheckHandleType(const DT &) const
RCHandleC::References(void) const
RCHandleC::operator <<(ostream &,const RCHandleC &)
RCHandleC::operator >>(istream &,RCHandleC &)

   XMLTreeC   
 
XML parse tree.
 
include "Ravl/XMLTree.hh"
User Level:Normal
Library:RavlCore
Example:exXMLTree.cc
In Scope:RavlN

Parent Classes: Methods:
XMLTreeC()
Default constructor.
Creats an invalid handle.

XMLTreeC(bool)
Constructor.

XMLTreeC(const StringC & name,RCHashC<StringC,StringC> & attrs)
Constructor.

XMLTreeC(XMLIStreamC & in)
Constructor.

XMLTreeC(HashTreeC<StringC,RCHashC<StringC,StringC>> & oth)
Construct from a base class.
An invalid handle is created if it failes.

bool Read(XMLIStreamC & in)
Read from a stream using this node as the root.

const StringC & Name() const
Access name.

#include "Ravl/HashTree.hh"
HashTreeNodeC<StringC,RCHashC<StringC,StringC>> Follow(const DListC<StringC> & lst)
Follow list of keys to a node.
If node is not found then an invalid handle is returned.

bool Child(const StringC & key,HashTreeNodeC<StringC,RCHashC<StringC,StringC>> & child)
lookup child in tree.
Returns true and updates 'child' if child is found.

bool Add(const StringC & key,const RCHashC<StringC,StringC> & data)
Add a child with given key and data.
returns false if child exists.

bool Add(const StringC & key,const HashTreeC<StringC,RCHashC<StringC,StringC>> & subtree)
Add a sub tree
returns false if child exists.

HashC<StringC,HashTreeNodeC<StringC,RCHashC<StringC,StringC>>> & Children()
Access table of children.

const HashC<StringC,HashTreeNodeC<StringC,RCHashC<StringC,StringC>>> & Children() const
Access table of children.

RCHashC<StringC,StringC> & Data()
Access data.

const RCHashC<StringC,StringC> & Data() const
Access data.

bool IsLeaf() const
Test if node is a leaf in the tree.

ostream & Dump(ostream & out,int level = 0) const
Dump in a easly readable format.

#include "Ravl/RefCounter.hh"
const RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> & operator =(const RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> & oth)
Assign handle.

RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> DeepCopy(UIntT levels = ((UIntT))) const
Do a deep copy of the object.

bool operator ==(const RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> & oth) const
Are handles to the same object ?

bool operator !=(const RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> & oth) const
Are handles to different objects ?

UIntT Hash() const
Default hash function.
This hashes on the address of the body.

bool IsValid() const
Test if this is a valid handle.

void Invalidate()
Invalidate this handle.
Unattaches the body from the handle.

bool IsHandleType(const DT &) const
Is handle of given type ?

void CheckHandleType(const DT & dummy) const
Check handle type. Throw an expception if not.

UIntT References() const
Find the number of references to the body of this object.

ostream & operator <<(ostream & strm,const RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> & obj)

istream & operator >>(istream & strm,RCHandleC<HashTreeNodeBodyC<KeyT,DataT>> & obj)


Maintainer:Charles Galambos, Documentation by CxxDoc: Tue Aug 13 09:59:02 2002