-- File: GeneralRelation.cdl -- Created: Mon Jan 14 09:44:03 1991 -- Author: Arnaud BOUZY -- ---Copyright: Matra Datavision 1991 deferred class GeneralRelation from Expr inherits TShared from MMgt ---Purpose: Defines the general purposes of any relation between -- expressions. uses GeneralExpression from Expr, NamedUnknown from Expr, AsciiString from TCollection raises OutOfRange from Standard, NumericError from Standard is IsSatisfied(me) ---Purpose: Returns the current status of the relation ---Level: Advanced returns Boolean is deferred; IsLinear(me) ---Purpose: Tests if is linear between its NamedUnknowns. ---Level: Advanced returns Boolean is deferred; Simplified(me) ---Purpose: Returns a GeneralRelation after replacement of -- NamedUnknowns by an associated expression, and after -- values computation. ---Level: Advanced returns mutable GeneralRelation raises NumericError is deferred; Simplify(me : mutable) ---Purpose: Replaces NamedUnknowns by associated expressions, -- and computes values in . ---Level: Advanced raises NumericError is deferred; Copy(me) ---Purpose: Returns a copy of having the same unknowns and -- functions. ---Level: Advanced returns mutable like me is deferred; NbOfSubRelations(me) ---Purpose: Returns the number of relations contained in . ---Level: Internal returns Integer is deferred; NbOfSingleRelations(me) ---Purpose: Returns the number of SingleRelations contained in -- . ---Level: Internal returns Integer is deferred; SubRelation(me; index : Integer) ---Purpose: Returns the relation denoted by in . -- An exception is raised if is out of range. ---Level: Internal returns any GeneralRelation raises OutOfRange is deferred; Contains(me; exp : GeneralExpression) ---Purpose: Tests if contains . ---Level: Internal returns Boolean is deferred; Replace(me : mutable ; var : NamedUnknown ; with : GeneralExpression) ---Purpose: Replaces all occurences of with in . ---Level: Internal is deferred; String(me) ---Purpose: returns a string representing in a readable way. ---Level: Public returns AsciiString is deferred; end GeneralRelation;