|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
Comments:
This class is the parent of all the symbol classes in
the Logic2 library. It includes methods for testing
equality and unification.
Parent Classes:
Derived Classes:
Methods:
- VLSymbC()
-
Default constructor.
Creates a NULL handle !
- VLSymbC(const VLSymbC & oth)
-
Copy constructor.
- explicit VLSymbC(BooleanT actual)
-
Constructor.
acutal = True, create an actual symbol.
- VLSymbC(VLSymb & oth)
-
Body constructor.
- VLSymbC(const VLSymb & oth)
-
Construct from a base symbol.
Hack to solve some problems!
- VLSymbC(StringC name,BooleanT unique = FALSE)
-
Construct a named symbol.
If unique is false, the symbol will be
entered in a global table and reused every
time a symbol of that name is requested.
Otherwise the symbol will just be created with the
given name.
- VLSymbC(const char * name,BooleanT unique = FALSE)
-
Construct a named symbol.
If unique is false, the symbol will be
entered in a global table and reused every
time a symbol of that name is requested.
Otherwise the symbol will just be created with the
given name.
- VLSymbC Copy() const
-
Make a copy of this object.
- BooleanT IsVar() const
-
Is this symb a variable ?
- void SetVar(BooleanT Val = TRUE)
-
Make this Symb a variable.
- BooleanT IsSimple(void) const
-
Does this symb contain any variables, (in Expressions or MinTerms.)
- BooleanT operator==(const VLSymbC & Oth) const
-
Is this equal to another Symb ?
- BooleanT operator!=(const VLSymbC & Oth) const
-
Is this equal to another Symb ?
- unsigned int Hash(void) const
-
Get ID usefull for hashing.
- BooleanT Unify(const VLSymbC & oth,VLBindLst & bnds) const
-
Unify with another symbol.
- BooleanT Unify(const VLSymbC & oth) const
-
Unify with another symbol.
- 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
-
If you only wish to use the first solution found use this function.
- BooleanT Test(const VLSpaceC & State,VLBindLst & Bnd,VLSymbIterC & Iter) const
-
See above.
- BooleanT Test(const VLSpaceC & State,VLBindLst & Bnd) const
-
If you only wish to use the first solution found use this function.
- BooleanT Test(const VLSpaceC & state) const
-
If you only wish to use the first solution found use this function.
- 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.
- StringC GetName(StringC buff = StringC()) const
-
Get full name of object.
- StringC Name() const
-
Get name of object.
inline StringC GetBaseName() const { return Body().GetBaseName(); }
Get base name of object.
- void Dump(void) const
-
Dump to stdout.
protected:
Should be protected but too many things need to convert
to the internal representation.
- VLSymb & Body()
-
INTERNAL USE ONLY!
- const VLSymb & Body() const
-
INTERNAL USE ONLY!
- RCAbstractC Abstract()
-
Create an abstract handle to this object.
- BooleanT IsHandleType(const DT &) const
-
Is handle of given type ?
- void CheckHandleType(const DT & dummy) const
-
Check handle type. Throw an expception if not.
- BooleanT Save(ostream & out) const
-
Save to ostream.
- RCHandleAC<VLSymb> Copy() const
-
Creat a deep copy of this object.
protected:
- BooleanT IsValid() const
-
Check its a valid handle.
- BooleanT IsValidObject() const
-
Check its a valid handle, and that the object is pointed to is also valid.
- RCHandleC<VLSymb> & operator=(const RCHandleC<VLSymb> & oth)
-
Assignment.
- BooleanT operator==(const RCHandleC<VLSymb> & oth) const
-
Comparison operator.
- BooleanT operator!=(const RCHandleC<VLSymb> & oth) const
-
Comparison operator.
- UIntT Hash() const
-
Hash function.x
- BooleanT IsConst() const
-
Is object constant ?
- BooleanT IsNotConst() const
-
Is object not constant ?
- void SetConst(void) const
-
Lock the object.
This is const as a convience though it actual modified the
object, often object you wish to ensure are constant already
have const set.
protected:
- void Invalidate()
-
Turn this into an invalid handle.
- VLSymb & Body()
-
Direct access to body.
- const VLSymb & Body() const
-
Constant access to body.
|
Programmer:Charles Galambos, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001
|