User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
VLNExpr::VLNExpr(const VLExprTypeC &,StringC)
VLNExpr::VLNExpr(const VLNExpr &)
VLNExpr::~VLNExpr(void)
VLNExpr::SymbCopy(void) const
VLNExpr::SetName(StringC)
VLNExpr::GetName(StringC) const
VLExpr::SymbCopy(void) const
VLExpr::IsSimple(void) const
VLExpr::IsTerminal(void) const
VLExpr::GetTerm(const VLExprLabel &) const
VLExpr::GetTerm(const VLExprLabel &)
VLExpr::GetTerm(IndexT)
VLExpr::GetTerm(UIntT)
VLExpr::GetTerm(IndexT) const
VLExpr::GetTerm(UIntT) const
VLExpr::SetTerm(IndexT,const VLSymbC &)
VLExpr::SetTerm(const VLExprLabel &,const VLSymbC &)
VLExpr::SetTerm(StringC,const VLSymbC &)
VLExpr::GetTerm(StringC) const
VLExpr::ExprType(void) const
VLExpr::IsEqual(const VLSymb &) const
VLExpr::Unify(const VLSymb &,VLBindLst &) const
VLExpr::Test(const VLSpace &,VLBindLst &,VLSymbIterC &) const
VLExpr::IsEqual(const VLExprLabel &,const VLExpr &) const
VLExpr::IsEqual(IndexT,const VLExpr &) const
VLExpr::Subst(const VLBindLst &) const
VLExpr::Subst(const VLSubstBaseC &) const
VLExpr::NewVarDup(VLSubstBaseC &) const
VLExpr::GetName(StringC) const
VLExpr::LockObj(void)
VLExpr::Hash(void) const
VLSymb::SetVar(BooleanT)
VLSymb::IsVar(void) const
VLSymb::IsSimple(void) const
VLSymb::IsEqual(const VLSymb &) const
VLSymb::operator==(const VLSymb &) const
VLSymb::Subst(const VLBindLst &) const
VLSymb::Subst(const VLSubstBaseC &) const
VLSymb::NewVarDup(VLSubstBaseC &) const
VLSymb::Hash(void) const
VLSymb::Unify(const VLSymb &,VLBindLst &) const
VLSymb::Unify2(const VLSymb &,VLBindLst &) const
VLSymb::Unify(const VLSymb &) const
VLSymb::GetName(StringC) const
VLSymb::Name(void) const
VLSymb::Dump(void) const
VLSymb::Test(const VLSpace &,VLBindLst &,VLSymbIterC &) const
VLSymb::Test(const VLSpace &,VLBindLst &) const
VLSymb::Test(const VLSpace &) const
VLSymb::SymbCopy(void) const
VLArgs::Arg(IndexT)
VLArgs::Arg(IndexT) const
VLArgs::SafeArg(IndexT)
VLArgs::SafeArg(IndexT) const
VLArgs::operator[](IndexT)
VLArgs::operator[](IndexT) const
VLArgs::GetArity(void) const
VLArgs::Arity(void) const
BodyRefCounterVC::Copy(void) const
BodyRefCounterVC::operator==(const BodyRefCounterVC &) const
BodyRefCounterVC::operator!=(const BodyRefCounterVC &) const
BodyRefCounterVC::Save(ostream &) const
BodyRefCounterC::AddReference(void)
BodyRefCounterC::RemoveReference(void)
BodyRefCounterC::SetConst(void) const
BodyRefCounterC::SetConst(void)
BodyRefCounterC::IsConst(void) const
BodyRefCounterC::IsNotConst(void) const
BodyRefCounterC::ToBeDeleted(void) const
BodyRefCounterC::ToBeDeletedRemoveIgnoreNoRemove(void)
BodyRefCounterC::ToBeDeletedRemove(void)
BodyRefCounterC::BodyMightBeDeleted(void) const
BodyRefCounterC::IsCountZero(void) const
BodyRefCounterC::BRCPtrCanDeleteObject(void) const
BodyRefCounterC::Count(void) const
BodyRefCounterC::operator=(const BodyRefCounterC &)
BodyRefCounterC::IsValidObject(void) const
BodyRefCounterC::UserBitTest(IntT) const
BodyRefCounterC::UserBitSet(IntT,BooleanT)
BodyRefCounterC::UserBitZero(IntT)
BodyRefCounterC::ReportBRCError(char *)
BodyRefCounterC::Hash(void) const
RefCounterBaseC::Label(void) const
VLNExpr
 
Named expression.
 
include "amma/Logic2/LNExpr.hh"
User Level:Default
Library:VLBasic
Example:SockServer.cc
Section:Logic.Basic
In Scope:std

Parent Classes:

Variables:
Methods:
VLNExpr(const VLExprTypeC & nEType,StringC NName)
Contructor.

VLNExpr(const VLNExpr & Oth)
Copy constructor.

~VLNExpr()
Destructor.

VLSymbC SymbCopy(void) const
Make a copy of this object on the heap.

void SetName(StringC NName)
Set name of expression.

StringC GetName(StringC Buff = StringC()) const
Get name of expression.

#include "amma/Logic2/LExpr.hh"
VLSymbC SymbCopy(void) const
Make a copy of this object on the heap.

BooleanT IsSimple(void) const
Does this expression contain and variables ? (True == No)

BooleanT IsTerminal(void) const
Is this expression terminal when evaluating a unification ? i.e. This expression can be unified with a var without matching args.

const VLSymbC & GetTerm(const VLExprLabel & Lab) const
Get term of expression by labeled field.

VLSymbC & GetTerm(const VLExprLabel & Lab)
Get term of expression by labeled field.

VLSymbC & GetTerm(IndexT i)
Get term by indexed field.

VLSymbC & GetTerm(UIntT i)
Get term by indexed field.

const VLSymbC & GetTerm(IndexT i) const
Get term by indexed field.

const VLSymbC & GetTerm(UIntT i) const
Get term by indexed field.

void SetTerm(IndexT i,const VLSymbC & Value)
Set term by indexed field.

void SetTerm(const VLExprLabel & Lab,const VLSymbC & Value)
Set term of expression by labeled field.

BooleanT SetTerm(StringC LabName,const VLSymbC & Value)
Set term of expression by named field.

VLSymbC GetTerm(StringC LabName) const
Get term of expression by named field.

const VLExprTypeC & ExprType(void) const
What type of expression is this.

BooleanT IsEqual(const VLSymb & Other) const
Is this equal to Other.

BooleanT Unify(const VLSymb & Other,VLBindLst & SF) const
Unify this with another Symbol.

BooleanT Test(const VLSpace & State,VLBindLst & Bnd,VLSymbIterC & Iter) const
Test is this expression is true in 'State' with binds 'Bnd', if there are more than one set of binds which make it so, use iterator 'Iter'. See notes on this function in 'VLSymb'.

BooleanT IsEqual(const VLExprLabel & Lab,const VLExpr & Oth) const
Is arg labeled 'Lab' of this expression equal to that of arg 'Lab' of 'Oth'.

BooleanT IsEqual(IndexT Ind,const VLExpr & Oth) const
Is arg 'Ind' of this expression equal to that of arg 'Ind' of 'Oth'.

VLSymbC Subst(const VLBindLst & Bnds) const
Substitue binds. This will not duplicate terminal expressions !

VLSymbC Subst(const VLSubstBaseC & Subs) const
Substitute one set of symbols for another. This will not duplicate terminal expressions !

VLSymbC NewVarDup(VLSubstBaseC & Subst) const
Create subsitutions for variables as needed.

StringC GetName(StringC Buff = StringC()) const
Get name that reflects the contents of this expression.

void LockObj(void)
Lock objects.

unsigned int Hash(void) const
Be carefull calculating hash value...

#include "amma/Logic2/LSymb.hh"
void SetVar(BooleanT Val)
Make this Symb a variable.

BooleanT IsVar(void) const
Is this symb a variable ?

BooleanT IsSimple(void) const
Does this symb contain any variables, (in Expressions or MinTerms.)

BooleanT IsEqual(const VLSymb & Other) const
Is this equal to another Symb ?

BooleanT operator==(const VLSymb & Oth) const
Is this equal to another Symb ?

VLSymbC Subst(const VLBindLst & Bnds) const
Substitute binds.

VLSymbC Subst(const VLSubstBaseC & Subs) const
Substitute one set of symbols for another.

VLSymbC NewVarDup(VLSubstBaseC & Subst) const
Create subsitutions for variables as needed.

unsigned int Hash(void) const
Get ID usefull for hashing.

BooleanT Unify(const VLSymb & other,VLBindLst & sF) const
Unify, with binds.

BooleanT Unify2(const VLSymb & other,VLBindLst & sF) const
Second stage of unification.
use to make sure both Symbols have a chance to override the default unification process. There is no need to overide this method unless doing something special like implementing contraints.

All variable subsitutions should be done by the time this is called.


BooleanT Unify(const VLSymb & other) const
Unify, with hidden binds.

StringC GetName(StringC Buff = StringC()) const
Get the name of this Symbol, if an unamed object one will be generated.
Obsolete use Name().

StringC Name() const
Get name of object.
This get a short text description of the symbol.

void Dump(void) const
Dump info about this object to stdout.

BooleanT Test(const VLSpace & State,VLBindLst & Bnd,VLSymbIterC & iter) const
Test if this symbol is true in a given state.
If there are several bindings which make it true make Iter point to an iterator which will change the passed Bnd's appropriatly. NB. any changes made to 'Bnd' after an 'Iter' is generated will be undone when the 'Iter.Next()' or 'Iter.First()' is called. Deleting the 'Iter' should NOT effect the bindings.

BooleanT Test(const VLSpace & State,VLBindLst & Bnd) const
If you only wish to use the first solution found use this function.

BooleanT Test(const VLSpace & state) const
Is a solution possible ?

VLSymbC SymbCopy(void) const
Make a copy of this object on the heap.

#include "amma/Logic2/LArgs.hh"
VLSymbC & Arg(IndexT i)
Access arg i.

const VLSymbC & Arg(IndexT i) const
Constant access to arg i.

VLSymbC & SafeArg(IndexT i)
Safe access to arg i.

const VLSymbC & SafeArg(IndexT i) const
Safe, constant access to arg i.

VLSymbC & operator[](IndexT i)
Access args through array operator.

const VLSymbC & operator[](IndexT i) const
Constant access to args through array operator.

IndexT GetArity() const
Get number of args. OBSOLETE

IndexT Arity() const
Get nymber of args.

#include "amma/BRefCntV.hh"
BodyRefCounterVC & Copy() const
Creat a copy of this object.

BooleanT operator==(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT operator!=(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT Save(ostream & out) const
Save to ostream.

#include "amma/BRefCnt.hh"
void AddReference()
Another reference to the object has been created.

void RemoveReference()
One reference to the object was deleted.
Locking scheme -------------- The object is possible to lock (to make constant). The scheme assumes that the object is created, it can be locked, after that it can only be destroyed. The locked object cannot be unlocked. This locking scheme is very useful during debugging, using assert() function, when it is necassary to check that object is treated as constant and the constancy is not violated by any casting or passing through the copy constructor of shared objects.

void SetConst(void) const
This locks the object.
Often objects you wish to lock are already const.

void SetConst(void)
This locks the object.

BooleanT IsConst(void) const
Returns TRUE if the object is locked, ie. it is assumed to be constant.

BooleanT IsNotConst(void) const
Returns TRUE if the object is unlocked.
ie. there is no special information if the object is constant or not. Counter state information -------------------------

BooleanT ToBeDeleted() const
Returns TRUE if there is only one reference to the object and the whole object or its reference counting part can be deleted.

BooleanT ToBeDeletedRemoveIgnoreNoRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object.

BooleanT ToBeDeletedRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object. This also checks the NoRemove flag.

BooleanT BodyMightBeDeleted() const
Returns TRUE if the reference counted part of the object can be deleted, ie. flag NOREMOVE is false .

BooleanT IsCountZero() const
Are there any refrences left ?

BooleanT BRCPtrCanDeleteObject() const
Used by BRRCPtrC to establish if an object has ZERO refrences and can be deleted.

IntT Count() const
Returns the current state of the counter, ie. how many references to this object exist.

const BodyRefCounterC & operator=(const BodyRefCounterC & b)
It has not meaning to assign object 'b' to this object because it would destroy a history of the object which is counted. So this is a dummy function.

BooleanT IsValidObject() const
Test if object is valid.
When amma check is disabled this always returns true.

BooleanT UserBitTest(IntT x) const
Test user flag.

void UserBitSet(IntT x,BooleanT setit = TRUE)
Test user flag.

void UserBitZero(IntT x)
Set bit to zero.

void ReportBRCError(char * Msg)
Report error, used in BRCPtrC.

UIntT Hash() const
Hash on address of object.

#include "amma/RefCBase.hh"
LabelT Label() const
Returns the label of this reference counter.
The member function is useful mainly to recognize objects during debugging. The value of the label is uniquely defined pointer.


Programmer:Charles Galambos, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001