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

  PUBLIC
VLExprTypeC::VLExprTypeC(void)
VLExprTypeC::VLExprTypeC(const VLExprTypeC &)
VLExprTypeC::VLExprTypeC(VLExprType &)
VLExprTypeC::VLExprTypeC(StringC,IntT)
VLExprTypeC::VLExprTypeC(StringC,VLExprLabelLstC &,BooleanT)
VLExprTypeC::VLExprTypeC(StringC,BooleanT)
VLExprTypeC::VLExprTypeC(StringC,const VLExprLabelC &,BooleanT)
VLExprTypeC::VLExprTypeC(StringC,const VLExprLabelC &,const VLExprLabelC &,BooleanT)
VLExprTypeC::VLExprTypeC(StringC,const VLExprLabelC &,const VLExprLabelC &,const VLExprLabelC &,BooleanT)
VLExprTypeC::VLExprTypeC(StringC,const VLExprLabelC &,const VLExprLabelC &,const VLExprLabelC &,const VLExprLabelC &,BooleanT)
VLExprTypeC::Named(StringC)
VLExprTypeC::operator()(void) const
VLExprTypeC::operator()(const VLSymbC &) const
VLExprTypeC::operator()(const VLSymbC &,const VLSymbC &) const
VLExprTypeC::operator()(const VLSymbC &,const VLSymbC &,const VLSymbC &) const
VLExprTypeC::operator()(const VLSymbC &,const VLSymbC &,const VLSymbC &,const VLSymbC &) const
VLExprTypeC::Arity(void) const
VLExprTypeC::AddTerm(const VLExprLabelC &)
VLExprTypeC::DelTerm(const VLExprLabelC &)
VLExprTypeC::ArgType(UIntT)
VLExprTypeC::ArgType(UIntT) const
VLExprTypeC::ArgType(IndexT)
VLExprTypeC::ArgType(IndexT) const
VLExprTypeC::Hash(void) const
VLExprTypeC::IsTerminal(void) const
VLExprTypeC::GetName(StringC) const
VLExprTypeC::Name(void) const
VLExprTypeC::BaseName(void) const
VLExprTypeC::GetArgText(void) const
VLExprTypeC::GetIndex(const VLExprLabel &) const
VLExprTypeC::GetIndex(const VLExprLabelC &) const
VLExprTypeC::GetIndex(const StringC &) const
RCHandleC::IsValid(void) const
RCHandleC::IsValidObject(void) const
RCHandleC::operator=(const RCHandleC &)
RCHandleC::operator==(const RCHandleC &) const
RCHandleC::operator!=(const RCHandleC &) const
RCHandleC::Hash(void) const
RCHandleC::IsConst(void) const
RCHandleC::IsNotConst(void) const
RCHandleC::SetConst(void) const
RCHandleC::Invalidate(void)
RCHandleC::Body(void)
RCHandleC::Body(void) const
VLExprTypeC
 
Expression Type.
 
include "amma/Logic2/LExprType.hh"
User Level:Default
Library:VLBasic
Example:SockServer.cc
Section:Logic.Basic
In Scope:std

Comments:
This class holds a unique identifier and some type information. The type information consists of the number of arguments each expression holds, and the type of each argument.

Parent Classes: Methods:
VLExprTypeC()
Default constructor.

VLExprTypeC(const VLExprTypeC & Oth)
Copy constructor.

VLExprTypeC(VLExprType & Oth)
Constructor.

VLExprTypeC(StringC nName,IntT nargs)
Construct named expression with 'nargs' arguments.
if the named expression type already exists, and it has the correct number of arguments it will be used.

The arguments are named arg0 arg1 arg2.... with no type restrictions.


VLExprTypeC(StringC nName,VLExprLabelLstC & ALst,BooleanT Term = FALSE)
Constructor.

VLExprTypeC(StringC nName,BooleanT Term = TRUE)
Constructor, 0 arg.
This is by default a terminal symbol, why else would you wan't an expression with no arguments ?

VLExprTypeC(StringC nName,const VLExprLabelC & a1,BooleanT Term = False)
Constructor, 1 arg.

VLExprTypeC(StringC nName,const VLExprLabelC & a1,const VLExprLabelC & a2,BooleanT Term = False)
Constructor, 2 arg.

VLExprTypeC(StringC nName,const VLExprLabelC & a1,const VLExprLabelC & a2,const VLExprLabelC & a3,BooleanT Term = False)
Constructor, 3 arg.

VLExprTypeC(StringC nName,const VLExprLabelC & a1,const VLExprLabelC & a2,const VLExprLabelC & a3,const VLExprLabelC & a4,BooleanT Term = False)
Constructor, 4 arg.

VLExprC Named(StringC name)
Create a named expression.
Version of this function which also set args may be added later.

VLExprC operator()() const
Create a 0 arg expression.

VLExprC operator()(const VLSymbC & a1) const
Create a 1 arg expression.

VLExprC operator()(const VLSymbC & a1,const VLSymbC & a2) const
Create a 2 arg expression.

VLExprC operator()(const VLSymbC & a1,const VLSymbC & a2,const VLSymbC & a3) const
Create a 3 arg expression.

VLExprC operator()(const VLSymbC & a1,const VLSymbC & a2,const VLSymbC & a3,const VLSymbC & a4) const
Create a 4 arg expression.

UIntT Arity() const
Get arity of Type.

BooleanT AddTerm(const VLExprLabelC & EL)
Add argument to expression type.
Do NOT use after instances of this expression type have been generated.

BooleanT DelTerm(const VLExprLabelC & EL)
Delete argument from expression type.
Do NOT use after instances of this expression type have been generated.

VLExprLabelC & ArgType(UIntT i)
Get label of arg i of expression.

const VLExprLabelC & ArgType(UIntT i) const
Get label of arg i of expression.

VLExprLabelC & ArgType(IndexT i)
Get label of arg i of expression.

const VLExprLabelC & ArgType(IndexT i) const
Get label of arg i of expression.

UIntT Hash() const
Get a hash value.

BooleanT IsTerminal(void) const
Is the expression type terminal, used in matching, see LCIndexT C.

StringC GetName(StringC Buff = StringC()) const
Get label name.

StringC Name() const
Get label name.

StringC BaseName() const
Get label name.

StringC GetArgText() const
Get string containing args for type.

IndexT GetIndex(const VLExprLabel & EL) const
Get index of argument labeled EL in expression.
Returns 'NotFound' if is not present in the expression.

IndexT GetIndex(const VLExprLabelC & EL) const
Get index of argument labeled EL in expression.
Returns 'NotFound' if is not present in the expression.

IndexT GetIndex(const StringC & el) const
Get index of argument labeled EL in expression.
Returns 'NotFound' if is not present in the expression.

#include "amma/RCHandle.hh"
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<VLExprType> & operator=(const RCHandleC<VLExprType> & oth)
Assignment.

BooleanT operator==(const RCHandleC<VLExprType> & oth) const
Comparison operator.

BooleanT operator!=(const RCHandleC<VLExprType> & 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.

VLExprType & Body()
Direct access to body.

const VLExprType & Body() const
Constant access to body.


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