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

  PUBLIC
StateAndIterBodyC::StateAndIterBodyC(const StateC &,const AndC &,const BindSetC &)
StateAndIterBodyC::StateAndIterBodyC(const StateC &,const SArray1dC &,const BindSetC &)
StateAndIterBodyC::Next(void)
StateAndIterBodyC::First(void)
StateAndIterBodyC::IsElm(void) const
StateAndIterBodyC::Data(void)
StateAndIterBodyC::Binds(void)
StateAndIterBodyC::Binds(void) const
StateAndIterBodyC::NextValid(void)
LiteralIterBodyC::Next(void)
LiteralIterBodyC::First(void)
LiteralIterBodyC::IsElm(void) const
LiteralIterBodyC::Data(void)
LiteralIterBodyC::Binds(void)
LiteralIterBodyC::Binds(void) const
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)

   StateAndIterBodyC   
 
Iterate through possible solutions in a state for a 'or' condition.
 
include "Ravl/Logic/StateAndIter.hh"
Source file:Ravl/Logic/Base/StateAndIter.hh
User Level:Develop
Library:RavlLogic
In Scope:RavlLogicN

Comments:
NB. Solutions may be repeated if two or more terms in the or condtion unify with the same literal..

Parent Classes: Variables:
StateC state;

SArray1dC lAnd;

BindSetC binds;

BindMarkT initalBm;

StackC stack;

LiteralIterC solIt;
Solutions within the state.

Methods:
StateAndIterBodyC(const StateC & nstate,const AndC & nand,const BindSetC & bs)
Constructor.

StateAndIterBodyC(const StateC & nstate,const SArray1dC<LiteralC> & nand,const BindSetC & bs)
Constructor.

bool Next()
Goto next data element.
returns true if next element is valid.

bool First()
Goto first data element.
returns true if next element is valid.

bool IsElm() const
At a valid element ?
returns true if iterator is at a valid element.

LiteralC Data()
Get current literal.

BindSetC & Binds()
Access binds associated with solution.

const BindSetC & Binds() const
Access binds associated with solution.

bool NextValid()
Goto next valid solution.
return false if not found.

#include "Ravl/Logic/LiteralIter.hh"
bool Next()
Goto next data element.
returns true if next element is valid.

bool First()
Goto first data element.
returns true if next element is valid.

bool IsElm() const
At a valid element ?
returns true if iterator is at a valid element.

LiteralC Data()
Get current literal.

BindSetC & Binds()
Access binds associated with solution.

const BindSetC & Binds() const
Access binds associated with solution.

#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