User Documentation
RAVL, Recognition And Vision Library
Ravl - Logic - Index - LiteralIndexNodeC

LiteralIndexNodeC::LiteralIndexNodeC(LiteralIndexElementC &)
LiteralIndexNodeC::Term(void) const
LiteralIndexElementC::Lookup(const TupleC &,LiteralIndexElementC &)
LiteralIndexElementC::Filter(const LiteralC &,LiteralIndexElementC &,LiteralC &)
LiteralIndexElementC::Insert(const TupleC &,LiteralIndexElementC &)
LiteralIndexElementC::Dump(ostream &,int) const
LiteralIndexElementC::Filter(const LiteralC &)
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::IsHandleType(const DT &) const
RCHandleC::CheckHandleType(const DT &) const
RCHandleC::References(void) const
RCHandleC::operator <<(ostream &,const RCHandleC &)
RCHandleC::operator >>(istream &,RCHandleC &)

Literal index node.
include "Ravl/Logic/LiteralIndexNode.hh"
User Level:Advanced
In Scope:RavlLogicN

Parent Classes: Methods:
Default constructor.
creates an invalid handle.

LiteralIndexNodeC(UIntT term)

LiteralIndexNodeC(LiteralIndexElementC & base)
Base constructor

UIntT Term() const
Access element of tuple we're indexing.

#include "Ravl/Logic/LiteralIndexElement.hh"
StringC Name()
Get name for element.
usefull for debuging.

bool Lookup(const TupleC & key,LiteralIndexElementC & next)
Lookup next level in tree.
returns true if this level is a leaf and leave next unchanged. if no suitable node is found 'next' is made invalid.

LiteralMapIterC<LiteralIndexElementC> Filter(const LiteralC & key,LiteralIndexElementC & next,LiteralC & var)
Filter next level in tree.
If there's a choice return an iterator otherwise the next branch in the tree is assigned to 'next'. var is the variable to witch the value of the iterator should be bound.

bool Insert(const TupleC & key,LiteralIndexElementC & next)
Insert/Replace element into the node.

void Dump(ostream & out,int level = 0) const
Dump index in human readable form.
For debugging only.

LiteralMapIterC<LiteralIndexElementC> Iterator()
Access iterator for all branches from this node.

LiteralMapIterC<LiteralIndexElementC> Filter(const LiteralC & filt)
Access iterator for all branches from this node matching filter ex.

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

RCHandleC<LiteralIndexElementBodyC> DeepCopy(UIntT levels = ((UIntT))) const
Do a deep copy of the object.

bool operator ==(const RCHandleC<LiteralIndexElementBodyC> & oth) const
Are handles to the same object ?

bool operator !=(const RCHandleC<LiteralIndexElementBodyC> & 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<LiteralIndexElementBodyC> & obj)

istream & operator >>(istream & strm,RCHandleC<LiteralIndexElementBodyC> & obj)

Documentation by CxxDoc: Tue Aug 13 09:59:02 2002