Class

io.chymyst.jc

M

Related Doc: package jc

Permalink

final class M[T] extends (T) ⇒ Unit with MolEmitter

Non-blocking molecule class. Instance is mutable until the molecule is bound to a reaction site and until all reactions involving this molecule are declared.

T

Type of the value carried by the molecule.

Linear Supertypes
MolEmitter, PersistentHashCode, (T) ⇒ Unit, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. M
  2. MolEmitter
  3. PersistentHashCode
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new M(name: String)

    Permalink

    name

    Name of the molecule, used for debugging only.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (Unit) ⇒ A): (T) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply()(implicit arg: TypeMustBeUnit[T]): Unit

    Permalink
  6. def apply(v: T): Unit

    Permalink

    Emit a non-blocking molecule.

    Emit a non-blocking molecule.

    Note that static molecules can be emitted only by a reaction that consumed them, and not by other code.

    v

    Value to be put onto the emitted molecule.

    Definition Classes
    M → Function1
  7. def applyStatic()(implicit arg: TypeMustBeUnit[T]): Unit

    Permalink
  8. def applyStatic(v: T): Unit

    Permalink
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def compose[A](g: (A) ⇒ T): (A) ⇒ Unit

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. final def ensureReactionSite[T](x: ⇒ T): T

    Permalink
    Attributes
    protected[io.chymyst.jc]
    Definition Classes
    MolEmitter
    Annotations
    @inline()
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    PersistentHashCode → AnyRef → Any
  18. val isBlocking: Boolean

    Permalink
    Definition Classes
    MolEmitter
  19. final def isBound: Boolean

    Permalink

    Check whether the molecule is already bound to a reaction site.

    Check whether the molecule is already bound to a reaction site. Note that molecules can be emitted only if they are bound.

    returns

    true if already bound, false otherwise.

    Definition Classes
    MolEmitter
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. def isPipelined: Boolean

    Permalink

    Check whether the molecule has been automatically pipelined.

    Check whether the molecule has been automatically pipelined.

    Definition Classes
    MolEmitter
    Annotations
    @inline()
  22. def isStatic: Boolean

    Permalink

    This is a def because we will only know whether this molecule is static after this molecule is bound to a reaction site, at run time.

    This is a def because we will only know whether this molecule is static after this molecule is bound to a reaction site, at run time. This will be overridden by the M class (only non-blocking molecules can be static).

    Definition Classes
    MMolEmitter
  23. final def logSoup: String

    Permalink
    Definition Classes
    MolEmitter
  24. val name: String

    Permalink

    Name of the molecule, used for debugging only.

    Name of the molecule, used for debugging only.

    Definition Classes
    MMolEmitter
  25. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. def reactionSite: ReactionSite

    Permalink
    Attributes
    protected
    Definition Classes
    MolEmitter
    Annotations
    @inline()
  29. final def setLogLevel(logLevel: Int): Unit

    Permalink
    Definition Classes
    MolEmitter
    Annotations
    @inline()
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  31. def toString(): String

    Permalink

    Prints a molecule's displayed name and a /B suffix for blocking molecules.

    Prints a molecule's displayed name and a /B suffix for blocking molecules.

    returns

    A molecule's displayed name as string.

    Definition Classes
    MolEmitter → AnyRef → Any
  32. def typeSymbol: Symbol

    Permalink

    The type symbol corresponding to the value type of the molecule.

    The type symbol corresponding to the value type of the molecule. For instance, a molcule emitter defined as val f = b[Int, String] has type symbol 'Int.

    returns

    A symbol representing the type, such as 'Unit, 'Int etc.

    Definition Classes
    MolEmitter
    Annotations
    @inline()
  33. def unapply(arg: ReactionBodyInput): Wrap[T]

    Permalink
  34. var valSelfBlockingPool: Option[Pool]

    Permalink
    Attributes
    protected
    Definition Classes
    MolEmitter
  35. def volatileValue: T

    Permalink

    Volatile reader for a molecule.

    Volatile reader for a molecule. The molecule must be declared as static.

    returns

    The value carried by the static molecule when it was last emitted. Will throw exception if the static molecule has not yet been emitted.

  36. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from MolEmitter

Inherited from PersistentHashCode

Inherited from (T) ⇒ Unit

Inherited from AnyRef

Inherited from Any

Ungrouped