sealed trait Module extends AnyRef

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Module
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def attributes: Attributes
  2. 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.

  3. 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.

  4. abstract def shape: Shape
  5. abstract def subModules: Set[Module]
  6. abstract def withAttributes(attributes: Attributes): Module

Concrete Value Members

  1. def compose[A, B, C](that: Module, f: (A, B) ⇒ C): Module

    Creates a new Module which is this Module composed with that Module, using the given function f to compose the materialized value of this with the materialized value of that.

    Creates a new Module which is this Module composed with that Module, using the given function f to compose the materialized value of this with the materialized value of that.

    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 and that

  2. def compose(that: Module): Module

    Creates a new Module which is this Module composed with that Module.

    Creates a new Module which is this Module composed with that Module.

    that

    a Module to be composed with (cannot be itself)

    returns

    a Module that represents the composition of this and that

  3. def composeNoMat(that: Module): Module

    Creates a new Module which is this Module composed with that Module.

    Creates a new Module which is this Module composed with that 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-provided that 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 and that

  4. def downstreams: Map[OutPort, InPort]
  5. final def equals(obj: Any): Boolean
    Definition Classes
    Module → AnyRef → Any
  6. 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 together from and to, transforming the materialized values of this and that using the provided function f

    Fuses this Module to that Module by wiring together from and to, transforming the materialized values of this and that using the provided function f

    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 and that

  7. final def fuse(that: Module, from: OutPort, to: InPort): Module

    Fuses this Module to that Module by wiring together from and to, retaining the materialized value of this in the result

    Fuses this Module to that Module by wiring together from and to, retaining the materialized value of this 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 and that

  8. final def hashCode(): Int
    Definition Classes
    Module → AnyRef → Any
  9. final lazy val inPorts: Set[InPort]
  10. def isAtomic: Boolean
  11. final def isBidiFlow: Boolean
  12. def isCopied: Boolean
  13. final def isFlow: Boolean
  14. def isFused: Boolean
  15. def isRunnable: Boolean
  16. final def isSealed: Boolean
  17. final def isSink: Boolean
  18. final def isSource: Boolean
  19. def materializedValueComputation: MaterializedValueNode
  20. final lazy val outPorts: Set[OutPort]
  21. final def transformMaterializedValue(f: (Any) ⇒ Any): Module
  22. def upstreams: Map[InPort, OutPort]
  23. 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