scala.io
object BytePickle

[source: `scala/io/BytePickle.scala`]

`` `object` BytePickle
  `extends` AnyRef

  Pickler combinators. Based on a Haskell library by Andrew Kennedy, see http://research.microsoft.com/~akenn/fun/.

Author
  Philipp Haller
Version
  1.1

Value Summary
`val` | DEF : Int
`val` | REF : Int

Method Summary
`def` | appendByte (a : Array[Byte], b : Int) : Array[Byte]
`def` | bool : SPU[Boolean]
`def` | byte : SPU[Byte]
`def` | bytearray : SPU[Array[Byte]]
`def` | data [a](tag : (a) => Int, ps : List[() => SPU[a]]) : SPU[a]
`def` | fixedList [a](pa : SPU[a])(n : Int) : SPU[List[a]]
`def` | lift [t](x : t) : SPU[t]
`def` | list [a](pa : SPU[a]) : SPU[List[a]]
`def` | nat : SPU[Int]
`def` | nat2Bytes (x : Int) : Array[Byte]
`def` | pair [a, b](pa : SPU[a], pb : SPU[b]) : SPU[(a, b)]
`def` | pickle [T](p : SPU[T], a : T) : Array[Byte]
`def` | refDef : PU[RefDef]
`def` | sequ [t, u](f : (u) => t, pa : SPU[t], k : (t) => SPU[u]) : SPU[u]
`def` | share [a](pa : SPU[a]) : SPU[a]
`def` | string : SPU[java.lang.String]
`def` | triple [a, b, c](pa : SPU[a], pb : SPU[b], pc : SPU[c]) : SPU[(a, b, c)]
`def` | ufixedList [A](pa : PU[A])(n : Int) : PU[List[A]]
`def` | ulift [t](x : t) : PU[t]
`def` | ulist [a](pa : PU[a]) : PU[List[a]]
`def` | unat : PU[Int]
`def` | unpickle [T](p : SPU[T], stream : Array[Byte]) : T
`def` | upair [a, b](pa : PU[a], pb : PU[b]) : PU[(a, b)]
`def` | upickle [T](p : PU[T], a : T) : Array[Byte]
`def` | usequ [t, u](f : (u) => t, pa : PU[t], k : (t) => PU[u]) : PU[u]
`def` | uunpickle [T](p : PU[T], stream : Array[Byte]) : T
`def` | uwrap [a, b](i : (a) => b, j : (b) => a, pa : PU[a]) : PU[b]
`def` | wrap [a, b](i : (a) => b, j : (b) => a, pa : SPU[a]) : SPU[b]

Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized

Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

Class Summary
`case class` | Def `extends` RefDef `with` Product
`abstract class` | PU [T]`extends` AnyRef
`class` | PicklerEnv `extends` HashMap[Any, Int]
`class` | PicklerState (`val` stream : Array[Byte], `val` dict : PicklerEnv)`extends` AnyRef
`case class` | Ref `extends` RefDef `with` Product
`abstract class` | RefDef `extends` AnyRef
`abstract class` | SPU [T]`extends` AnyRef
`class` | UnPicklerEnv `extends` HashMap[Int, Any]
`class` | UnPicklerState (`val` stream : Array[Byte], `val` dict : UnPicklerEnv)`extends` AnyRef

Value Details

`` `val` REF : Int

`` `val` DEF : Int

Method Details

`` `def` pickle[T](p : SPU[T], a : T) : Array[Byte]

`` `def` unpickle[T](p : SPU[T], stream : Array[Byte]) : T

`` `def` upickle[T](p : PU[T], a : T) : Array[Byte]

`` `def` uunpickle[T](p : PU[T], stream : Array[Byte]) : T

`` `def` refDef : PU[RefDef]

`` `def` unat : PU[Int]

`` `def` share[a](pa : SPU[a]) : SPU[a]

`` `def` ulift[t](x : t) : PU[t]

`` `def` lift[t](x : t) : SPU[t]

`` `def` usequ[t, u](f : (u) => t, pa : PU[t], k : (t) => PU[u]) : PU[u]

`` `def` sequ[t, u](f : (u) => t, pa : SPU[t], k : (t) => SPU[u]) : SPU[u]

`` `def` upair[a, b](pa : PU[a], pb : PU[b]) : PU[(a, b)]

`` `def` pair[a, b](pa : SPU[a], pb : SPU[b]) : SPU[(a, b)]

`` `def` triple[a, b, c](pa : SPU[a], pb : SPU[b], pc : SPU[c]) : SPU[(a, b, c)]

`` `def` uwrap[a, b](i : (a) => b, j : (b) => a, pa : PU[a]) : PU[b]

`` `def` wrap[a, b](i : (a) => b, j : (b) => a, pa : SPU[a]) : SPU[b]

`` `def` appendByte(a : Array[Byte], b : Int) : Array[Byte]

`` `def` nat2Bytes(x : Int) : Array[Byte]

`` `def` nat : SPU[Int]

`` `def` byte : SPU[Byte]

`` `def` string : SPU[java.lang.String]

`` `def` bytearray : SPU[Array[Byte]]

`` `def` bool : SPU[Boolean]

`` `def` ufixedList[A](pa : PU[A])(n : Int) : PU[List[A]]

`` `def` fixedList[a](pa : SPU[a])(n : Int) : SPU[List[a]]

`` `def` list[a](pa : SPU[a]) : SPU[List[a]]

`` `def` ulist[a](pa : PU[a]) : PU[List[a]]

`` `def` data[a](tag : (a) => Int, ps : List[() => SPU[a]]) : SPU[a]