Packages

c

de.sciss.serial

RefMapIn

abstract class RefMapIn[Repr] extends AnyRef

Building block for deserializing Product based type hierarchies.

By default, the following type tags are supported:

- 'B' Boolean - 'C' Const (freely definable type -- must implement readIdentifiedConst) - 'D' Double - 'F' Float - 'I' Int - 'L' Long - 'M' Map[_, _] - 'O' Option[_] - 'P' Product (through registered ProductReader instances) - 'S' String - 'T' Set[_] - 'X' Vec[_] (IndexedSeq) - 'U' Unit () - 'R' (freely definable type -- must implement readIdentifiedR) - 'Y' (freely definable type -- must implement readIdentifiedY) - 'u' (freely definable type -- must implement readIdentifiedU) - 'E' (freely definable type -- must implement readIdentifiedE) - '<' reference to previous object (as written by RefMapOut) - '\u0000' null

Sub-classes may want to patch into readCustomElem and readCustomProduct to handle specific new types.

Self Type
RefMapIn[Repr] with Repr
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RefMapIn
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new RefMapIn(in0: DataInput)

    in0

    the binary input to read from

Type Members

  1. abstract type Const <: Product
  2. abstract type E
  3. abstract type R
  4. abstract type U
  5. abstract type Y

Concrete Value Members

  1. final def in: DataInput
  2. final def readBoolean(): Boolean
  3. final def readDouble(): Double
  4. final def readDoubleVec(): IndexedSeq[Double]
  5. def readElem(): Any
  6. final def readFloat(): Float
  7. final def readFloatVec(): IndexedSeq[Float]
  8. final def readInt(): Int
  9. final def readIntVec(): IndexedSeq[Int]
  10. final def readLong(): Long
  11. final def readMap[K, V](key: => K, value: => V): Map[K, V]
  12. final def readOption[A](elem: => A): Option[A]
  13. def readProduct(): Product
  14. final def readProductT[A <: Product](): A

    Like readProduct but casts the result (unsafe)

  15. final def readSet[A](elem: => A): Set[A]
  16. final def readString(): String
  17. final def readStringOption(): Option[String]
  18. final def readVec[A](elem: => A): IndexedSeq[A]