Packages

  • package root
    Definition Classes
    root
  • package scodec

    Combinator library for working with binary data.

    Combinator library for working with binary data.

    The primary abstraction of this library is Codec, which provides the ability to encode/decode values to/from binary.

    There are more general abstractions though, such as Encoder and Decoder. There's also GenCodec which extends both Encoder and Decoder but allows the types to vary. Given these more general abstractions, a Codec[A] can be represented as a GenCodec[A, A].

    The more general abstractions are important because they allow operations on codecs that would not otherwise be possible. For example, given a Codec[A], mapping a function A => B over the codec yields a GenCodec[A, B]. Without the more general abstractions, map is impossible to define (e.g., how would codec.map(f).encode(b) be implemented?). Given a GenCodec[A, B], the encoding functionality can be ignored by treating it as a Decoder[B], or the encoding type can be changed via contramap. If after further transformations, the two types to GenCodec are equal, we can reconstitute a Codec from the GenCodec by calling fuse.

    See the codecs package object for pre-defined codecs for many common data types and combinators for building larger codecs out of smaller ones.

    For the categorically minded, note the following:

    • Decoder is a monad
    • Encoder is a contravariant functor
    • GenCodec is a profunctor
    • Codec is an invariant functor
    Definition Classes
    root
  • object CodecTransformation extends Serializable

    Companion for CodecTransformation.

    Companion for CodecTransformation.

    Definition Classes
    scodec
  • Id

object Id extends CodecTransformation

Source
package.scala
Linear Supertypes
~>[Codec, Codec], Poly1, Poly, Serializable, PolyApply, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Id
  2. ~>
  3. Poly1
  4. Poly
  5. Serializable
  6. PolyApply
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Case[A] = shapeless.PolyDefns.Case[Id.this.type, ::[A, HNil]]
    Definition Classes
    Poly1
  2. class CaseBuilder[A] extends AnyRef
    Definition Classes
    Poly1
  3. trait LowPriorityCaseBuilder extends AnyRef
    Definition Classes
    Poly
  4. type ProductCase[L <: HList] = shapeless.PolyDefns.Case[Id.this.type, L]
    Definition Classes
    Poly

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen(f: Poly): Compose[f.type, Id.this.type]
    Definition Classes
    Poly
  5. def apply[X](c: Codec[X]): Codec[X]
    Definition Classes
    Id → ~>
  6. def apply[R](implicit c: Aux[HNil, R]): R
    Definition Classes
    Poly
  7. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, ::[Q, ::[R, ::[S, ::[T, ::[U, ::[V, HNil]]]]]]]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  8. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, ::[Q, ::[R, ::[S, ::[T, ::[U, HNil]]]]]]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  9. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, ::[Q, ::[R, ::[S, ::[T, HNil]]]]]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  10. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, ::[Q, ::[R, ::[S, HNil]]]]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  11. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, ::[Q, ::[R, HNil]]]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  12. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, ::[Q, HNil]]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  13. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, ::[P, HNil]]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  14. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, ::[O, HNil]]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  15. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M, N](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, ::[N, HNil]]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  16. def apply[A, B, C, D, E, F, G, H, I, J, K, L, M](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, ::[M, HNil]]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  17. def apply[A, B, C, D, E, F, G, H, I, J, K, L](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, ::[L, HNil]]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  18. def apply[A, B, C, D, E, F, G, H, I, J, K](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, ::[K, HNil]]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  19. def apply[A, B, C, D, E, F, G, H, I, J](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, ::[J, HNil]]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  20. def apply[A, B, C, D, E, F, G, H, I](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, ::[I, HNil]]]]]]]]]]): Result
    Definition Classes
    PolyApply
  21. def apply[A, B, C, D, E, F, G, H](a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, ::[H, HNil]]]]]]]]]): Result
    Definition Classes
    PolyApply
  22. def apply[A, B, C, D, E, F, G](a: A, b: B, c: C, d: D, e: E, f: F, g: G)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, ::[G, HNil]]]]]]]]): Result
    Definition Classes
    PolyApply
  23. def apply[A, B, C, D, E, F](a: A, b: B, c: C, d: D, e: E, f: F)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, ::[F, HNil]]]]]]]): Result
    Definition Classes
    PolyApply
  24. def apply[A, B, C, D, E](a: A, b: B, c: C, d: D, e: E)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, ::[E, HNil]]]]]]): Result
    Definition Classes
    PolyApply
  25. def apply[A, B, C, D](a: A, b: B, c: C, d: D)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, ::[D, HNil]]]]]): Result
    Definition Classes
    PolyApply
  26. def apply[A, B, C](a: A, b: B, c: C)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, ::[C, HNil]]]]): Result
    Definition Classes
    PolyApply
  27. def apply[A, B](a: A, b: B)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, ::[B, HNil]]]): Result
    Definition Classes
    PolyApply
  28. def apply[A](a: A)(implicit cse: shapeless.PolyDefns.Case[Id.this.type, ::[A, HNil]]): Result
    Definition Classes
    PolyApply
  29. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  30. def at[A]: CaseBuilder[A]
    Definition Classes
    Poly1
  31. def caseAt[L <: HList](implicit c: ProductCase[L]): ProductCase[L]
    Definition Classes
    Poly
  32. implicit def caseUniv[T]: Aux[Codec[T], Codec[T]]
    Definition Classes
    ~>
  33. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  34. def compose(f: Poly): Compose[Id.this.type, f.type]
    Definition Classes
    Poly
  35. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  37. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  38. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  39. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  40. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  41. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  44. def rotateLeft[N <: Nat]: RotateLeft[Id.this.type, N]
    Definition Classes
    Poly
  45. def rotateRight[N <: Nat]: RotateRight[Id.this.type, N]
    Definition Classes
    Poly
  46. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  47. def toString(): String
    Definition Classes
    AnyRef → Any
  48. def use[T, L <: HList, R](t: T)(implicit cb: Id.CaseBuilder[T, L, R]): Aux[L, R]
    Definition Classes
    Poly
  49. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  50. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  51. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  52. object ProductCase extends Serializable
    Definition Classes
    Poly

Inherited from ~>[Codec, Codec]

Inherited from Poly1

Inherited from Poly

Inherited from Serializable

Inherited from PolyApply

Inherited from AnyRef

Inherited from Any

Ungrouped