sealed trait Module extends AnyRef
- Alphabetic
- By Inheritance
- Module
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def attributes: Attributes
-
abstract
def
carbonCopy: Module
The purpose of this method is to create a copy to be included in a larger graph such that port identity clashes are avoided.
The purpose of this method is to create a copy to be included in a larger graph such that port identity clashes are avoided. Where a full copy is not possible or desirable, use a CopiedModule. The shape of the resulting module MUST NOT contain the same ports as this module’s shape.
-
abstract
def
replaceShape(s: Shape): Module
Verify that the given Shape has the same ports and return a new module with that shape.
Verify that the given Shape has the same ports and return a new module with that shape. Concrete implementations may throw UnsupportedOperationException where applicable.
Please note that this method MUST NOT be implemented using a CopiedModule since the purpose of replaceShape can also be to rearrange the ports (as in BidiFlow.reversed) and that purpose would be defeated.
- abstract def shape: Shape
- abstract def subModules: Set[Module]
- abstract def withAttributes(attributes: Attributes): Module
Concrete Value Members
-
def
compose[A, B, C](that: Module, f: (A, B) ⇒ C): Module
Creates a new Module which is
this
Module composed withthat
Module, using the given functionf
to compose the materialized value ofthis
with the materialized value ofthat
.Creates a new Module which is
this
Module composed withthat
Module, using the given functionf
to compose the materialized value ofthis
with the materialized value ofthat
.- A
the type of the materialized value of
this
- B
the type of the materialized value of
that
- C
the type of the materialized value of the returned Module
- that
a Module to be composed with (cannot be itself)
- f
a function which combines the materialized values
- returns
a Module that represents the composition of
this
andthat
-
def
compose(that: Module): Module
Creates a new Module which is
this
Module composed withthat
Module.Creates a new Module which is
this
Module composed withthat
Module.- that
a Module to be composed with (cannot be itself)
- returns
a Module that represents the composition of
this
andthat
-
def
composeNoMat(that: Module): Module
Creates a new Module which is
this
Module composed withthat
Module.Creates a new Module which is
this
Module composed withthat
Module.The difference to compose(that) is that this version completely ignores the materialized value computation of
that
while the normal version executes the computation and discards its result. This means that this version must not be used for user-providedthat
modules because users may transform materialized values only to achieve some side-effect; it can only be used where we know that there is no meaningful computation to be done (like for MaterializedValueSource).- that
a Module to be composed with (cannot be itself)
- returns
a Module that represents the composition of
this
andthat
- def downstreams: Map[OutPort, InPort]
-
final
def
equals(obj: Any): Boolean
- Definition Classes
- Module → AnyRef → Any
-
final
def
fuse[A, B, C](that: Module, from: OutPort, to: InPort, f: (A, B) ⇒ C): Module
Fuses this Module to
that
Module by wiring togetherfrom
andto
, transforming the materialized values ofthis
andthat
using the provided functionf
Fuses this Module to
that
Module by wiring togetherfrom
andto
, transforming the materialized values ofthis
andthat
using the provided functionf
- that
a Module to fuse with
- from
the data source to wire
- to
the data sink to wire
- f
the function to apply to the materialized values
- returns
a Module representing the fusion of
this
andthat
-
final
def
fuse(that: Module, from: OutPort, to: InPort): Module
Fuses this Module to
that
Module by wiring togetherfrom
andto
, retaining the materialized value ofthis
in the resultFuses this Module to
that
Module by wiring togetherfrom
andto
, retaining the materialized value ofthis
in the result- that
a Module to fuse with
- from
the data source to wire
- to
the data sink to wire
- returns
a Module representing the fusion of
this
andthat
-
final
def
hashCode(): Int
- Definition Classes
- Module → AnyRef → Any
- final lazy val inPorts: Set[InPort]
- def isAtomic: Boolean
- final def isBidiFlow: Boolean
- def isCopied: Boolean
- final def isFlow: Boolean
- def isFused: Boolean
- def isRunnable: Boolean
- final def isSealed: Boolean
- final def isSink: Boolean
- final def isSource: Boolean
- def materializedValueComputation: MaterializedValueNode
- final lazy val outPorts: Set[OutPort]
- final def transformMaterializedValue(f: (Any) ⇒ Any): Module
- def upstreams: Map[InPort, OutPort]
-
final
def
wire(from: OutPort, to: InPort): Module
Creates a new Module based on the current Module but with the given OutPort wired to the given InPort.
Creates a new Module based on the current Module but with the given OutPort wired to the given InPort.
- from
the OutPort to wire
- to
the InPort to wire
- returns
a new Module with the ports wired