TransferFunct - transfer function base class
SYNOPSIS
#include <Unidraw/transfn.h>
DESCRIPTION
A transfer function defines relationships between state
variables. A component uses a transfer function to
enforce dependencies between its state variables during
dataflow. State variables whose values change as a result
of data flowing into the component can thus affect the
component's dependent state variables as defined by its
transfer function. A transfer function can define depen-
dencies between any number of state variables, but a com-
ponent can define only one transfer function.
PUBLIC OPERATIONS
virtual void Evaluate(Path* = nil)
Enforce the transfer function's dependencies
between its state variables, optionally depending
on the information in a path. This operation does
nothing by default.
virtual TransferFunct* Copy()
Return a copy of the transfer function. Subclasses
redefine this operation to return an instance of
their type.
virtual void Read(istream&)
virtual void Write(ostream&)
Read and write the transfer function's contents to
a stream to support catalog operations. Read and
write typically call first the corresponding opera-
tions defined by their parent class, and then they
read or write their class-specific state.
virtual ClassId GetClassId()
virtual boolean IsA(ClassId)
GetClassId returns the unique class identifier for
the TransferFunct subclass, while IsA returns
whether the instance is of a class or subclass cor-
responding to the given identifier. IsA typically
checks the given identifier against the instance's
own (as defined by its GetClassId operation) and,
failing that, calls its parent classes' IsA opera-
tion. All subclasses must redefine GetClassId and
IsA to ensure that their identifiers are unique and
that instances are written and read properly.
PROTECTED OPERATIONS
TransferFunct()
The constructor is protected to prevent instantia-
Return the connector to which a state variable is
bound.
SEE ALSO
Catalog(3U), Component(3U), Connector(3U), Creator(3U),
Path(3U), StateVar(3U) classes(3U), istream(3C++),
ostream(3C++)
Man(1) output converted with
man2html