Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - Logic - Index - LiteralIndexBaseBodyC
 

  PUBLIC
LiteralIndexBaseBodyC::LiteralIndexBaseBodyC(void)
LiteralIndexBaseBodyC::Lookup(const LiteralC &)
LiteralIndexBaseBodyC::Insert(const LiteralC &)
LiteralIndexBaseBodyC::NewLeaf(const LiteralC &)
LiteralIndexBaseBodyC::Del(const LiteralC &)
LiteralIndexBaseBodyC::Size(void) const
LiteralIndexBaseBodyC::Dump(ostream &,int) const
LiteralIndexBaseBodyC::PickNextTerm(const SArray1dC &,const LiteralC &)
RCBodyVC::Save(ostream &) const
RCBodyVC::Save(BinOStreamC &) const
RCBodyVC::Copy(void) const
RCBodyVC::DeepCopy(UIntT) const
RCBodyC::References(void) const
RCBodyC::Copy(void) const
RCBodyC::DeepCopy(UIntT) const
RCBodyC::IncRefCounter(void)
RCBodyC::DecRefCounter(void)

   LiteralIndexBaseBodyC   
 
Base class for index access.
 
include "Ravl/Logic/LiteralIndexBase.hh"
Source file:Ravl/Logic/Index/LiteralIndexBase.hh
User Level:Develop
Library:RavlLogic
In Scope:RavlLogicN

Parent Classes: Derived Classes: Variables:
HashC map;
Direct lookup table.

LiteralIndexElementC root;
Root of tree.

Methods:
LiteralIndexBaseBodyC()
Default constructor.

LiteralIndexLeafC Lookup(const LiteralC & key)
Lookup exact match in index.
returns an invalid handle if not found.

LiteralIndexLeafC Insert(const LiteralC & key)
Insert key into index.
Will return handle to leaf if key already exists.

LiteralIndexLeafC NewLeaf(const LiteralC & key)
Generate a new leaf.

bool Del(const LiteralC & key)
Delete key from index.
returns true if key existed, false otherwise.

SizeT Size() const
Get the number of elements in the index.

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

UIntT PickNextTerm(const SArray1dC<bool> & used,const LiteralC & key)
Pick next term to use in the index.
used is an array set to true for all the terms already used. 'key' is the key we're updating the index for.

The default version of this function just uses terms in numerical order, first to last. You may want to put a more clever heuristic in here.


#include "Ravl/RCHandleV.hh"
bool Save(ostream & out) const
Save to stream 'out'.

bool Save(BinOStreamC & out) const
Save to binary stream 'out'.

RCBodyVC & Copy() const
Make copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

RCBodyC & DeepCopy(UIntT levels = ((UIntT))) const
Make a deep copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

#include "Ravl/RefCounter.hh"
UIntT References() const
Access count of handles open to this object.

RCBodyC & Copy() const
Make copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

RCBodyC & DeepCopy(UIntT levels = ((UIntT))) const
Make a deep copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

void IncRefCounter()
Increment reference counter.

bool DecRefCounter()
Decrement reference counter.


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