in scala.io
object BytePickle

object BytePickle
extends java.lang.Object
with scala.ScalaObject
Pickler combinators. Based on a Haskell library by Andrew Kennedy, see http://research.microsoft.com/~akenn/fun/index.html. Author: Philipp Haller
epfl.ch> :

Constructor Summary
def this



Class Summary
case class Def

abstract class PU [ t ]

class PicklerEnv

class PicklerState

case class Ref

abstract class RefDef

abstract class SPU [ t ]

class UnPicklerEnv

class UnPicklerState



Def Summary
def appendByte ( a : scala.Array[scala.Byte] , b : scala.Int ) : scala.Array[scala.Byte]

def bool : BytePickle.this.SPU[scala.Boolean]

def byte : BytePickle.this.SPU[scala.Byte]

def bytearray : BytePickle.this.SPU[scala.Array[scala.Byte]]

def data [ a ] ( tag : (a) => scala.Int , ps : scala.List[() => BytePickle.this.SPU[a]] ) : BytePickle.this.SPU[a]

def fixedList [ a ] ( pa : BytePickle.this.SPU[a] ) ( n : scala.Int ) : BytePickle.this.SPU[scala.List[a]]

def lift [ t ] ( x : t ) : BytePickle.this.SPU[t]

def list [ a ] ( pa : BytePickle.this.SPU[a] ) : BytePickle.this.SPU[scala.List[a]]

def nat : BytePickle.this.SPU[scala.Int]

def nat2Bytes ( x : scala.Int ) : scala.Array[scala.Byte]

def pair [ a , b ] ( pa : BytePickle.this.SPU[a] , pb : BytePickle.this.SPU[b] ) : BytePickle.this.SPU[scala.Tuple2[a,b]]

def pickle [ t ] ( p : BytePickle.this.SPU[t] , a : t ) : scala.Array[scala.Byte]

def refDef : BytePickle.this.PU[BytePickle.this.RefDef]

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

def share [ a ] ( pa : BytePickle.this.SPU[a] ) : BytePickle.this.SPU[a]

def string : BytePickle.this.SPU[java.lang.String]

def triple [ a , b , c ] ( pa : BytePickle.this.SPU[a] , pb : BytePickle.this.SPU[b] , pc : BytePickle.this.SPU[c] ) : BytePickle.this.SPU[scala.Tuple3[a,b,c]]

def ufixedList [ a ] ( pa : BytePickle.this.PU[a] ) ( n : scala.Int ) : BytePickle.this.PU[scala.List[a]]

def ulift [ t ] ( x : t ) : BytePickle.this.PU[t]

def ulist [ a ] ( pa : BytePickle.this.PU[a] ) : BytePickle.this.PU[scala.List[a]]

def unat : BytePickle.this.PU[scala.Int]

def unpickle [ t ] ( p : BytePickle.this.SPU[t] , stream : scala.Array[scala.Byte] ) : t

def upair [ a , b ] ( pa : BytePickle.this.PU[a] , pb : BytePickle.this.PU[b] ) : BytePickle.this.PU[scala.Tuple2[a,b]]

def upickle [ t ] ( p : BytePickle.this.PU[t] , a : t ) : scala.Array[scala.Byte]

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

def uunpickle [ t ] ( p : BytePickle.this.PU[t] , stream : scala.Array[scala.Byte] ) : t

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

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



Constructor Detail
def this

Def Detail
def appendByte ( a : scala.Array[scala.Byte] , b : scala.Int ) : scala.Array[scala.Byte]

def bool : BytePickle.this.SPU[scala.Boolean]

def byte : BytePickle.this.SPU[scala.Byte]

def bytearray : BytePickle.this.SPU[scala.Array[scala.Byte]]

def data [ a ]( tag : (a) => scala.Int , ps : scala.List[() => BytePickle.this.SPU[a]] ) : BytePickle.this.SPU[a]

def fixedList [ a ]( pa : BytePickle.this.SPU[a] ) ( n : scala.Int ) : BytePickle.this.SPU[scala.List[a]]

def lift [ t ]( x : t ) : BytePickle.this.SPU[t]

def list [ a ]( pa : BytePickle.this.SPU[a] ) : BytePickle.this.SPU[scala.List[a]]

def nat : BytePickle.this.SPU[scala.Int]

def nat2Bytes ( x : scala.Int ) : scala.Array[scala.Byte]

def pair [ a , b ]( pa : BytePickle.this.SPU[a] , pb : BytePickle.this.SPU[b] ) : BytePickle.this.SPU[scala.Tuple2[a,b]]

def pickle [ t ]( p : BytePickle.this.SPU[t] , a : t ) : scala.Array[scala.Byte]

def refDef : BytePickle.this.PU[BytePickle.this.RefDef]

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

def share [ a ]( pa : BytePickle.this.SPU[a] ) : BytePickle.this.SPU[a]

def string : BytePickle.this.SPU[java.lang.String]

def triple [ a , b , c ]( pa : BytePickle.this.SPU[a] , pb : BytePickle.this.SPU[b] , pc : BytePickle.this.SPU[c] ) : BytePickle.this.SPU[scala.Tuple3[a,b,c]]

def ufixedList [ a ]( pa : BytePickle.this.PU[a] ) ( n : scala.Int ) : BytePickle.this.PU[scala.List[a]]

def ulift [ t ]( x : t ) : BytePickle.this.PU[t]

def ulist [ a ]( pa : BytePickle.this.PU[a] ) : BytePickle.this.PU[scala.List[a]]

def unat : BytePickle.this.PU[scala.Int]

def unpickle [ t ]( p : BytePickle.this.SPU[t] , stream : scala.Array[scala.Byte] ) : t

def upair [ a , b ]( pa : BytePickle.this.PU[a] , pb : BytePickle.this.PU[b] ) : BytePickle.this.PU[scala.Tuple2[a,b]]

def upickle [ t ]( p : BytePickle.this.PU[t] , a : t ) : scala.Array[scala.Byte]

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

def uunpickle [ t ]( p : BytePickle.this.PU[t] , stream : scala.Array[scala.Byte] ) : t

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

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