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]