Class

scodec.codecs

TupleCodec

Related Doc: package codecs

Permalink

final class TupleCodec[A, B] extends Codec[(A, B)]

Source
TupleCodec.scala
Linear Supertypes
Codec[(A, B)], GenCodec[(A, B), (A, B)], Decoder[(A, B)], Encoder[(A, B)], AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Grouped
  2. Alphabetic
  3. By inheritance
Inherited
  1. TupleCodec
  2. Codec
  3. GenCodec
  4. Decoder
  5. Encoder
  6. AnyRef
  7. Any
Implicitly
  1. by Tuple2CodecSupport
  2. by EnrichedCoproductEncoder
  3. by ValueCodecEnrichedWithGenericSupport
  4. by ValueCodecEnrichedWithHListSupport
  5. by TransformSyntax
  6. by ValueEnrichedWithTuplingSupport
  7. by any2stringadd
  8. by StringFormat
  9. by Ensuring
  10. by ArrowAssoc
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TupleCodec(A: Codec[A], B: Codec[B])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to any2stringadd[TupleCodec[A, B]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (TupleCodec[A, B], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ArrowAssoc[TupleCodec[A, B]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. def :+:[B](left: Codec[B]): CoproductCodecBuilder[:+:[B, :+:[(A, B), CNil]], ::[Codec[B], ::[Codec[(A, B)], HNil]], :+:[B, :+:[(A, B), CNil]]]

    Permalink

    Supports creation of a coproduct codec.

    Supports creation of a coproduct codec. See scodec.codecs.CoproductCodecBuilder for details.

    Definition Classes
    Codec
  6. def ::[B](codecB: Codec[B]): Codec[::[B, ::[(A, B), HNil]]]

    Permalink

    When called on a Codec[A] where A is not a subytpe of HList, creates a new codec that encodes/decodes an HList of B :: A :: HNil.

    When called on a Codec[A] where A is not a subytpe of HList, creates a new codec that encodes/decodes an HList of B :: A :: HNil. For example,

    uint8 :: utf8

    has type Codec[Int :: String :: HNil]. uint8 :: utf8 }}}

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)] performed by method ValueCodecEnrichedWithHListSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithHListSupport
  7. def :~>:[B](codecB: Codec[B])(implicit ev: =:=[Unit, B]): Codec[::[(A, B), HNil]]

    Permalink

    When called on a Codec[A], returns a new codec that encodes/decodes B :: A :: HNil.

    When called on a Codec[A], returns a new codec that encodes/decodes B :: A :: HNil. HList equivalent of ~>.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)] performed by method ValueCodecEnrichedWithHListSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithHListSupport
  8. final def <~[B](codecB: Codec[B])(implicit ev: =:=[Unit, B]): Codec[(A, B)]

    Permalink

    Assuming B is Unit, creates a Codec[A] that: encodes the A followed by a unit; decodes an A followed by a unit and discards the decoded unit.

    Assuming B is Unit, creates a Codec[A] that: encodes the A followed by a unit; decodes an A followed by a unit and discards the decoded unit.

    Operator alias of dropRight.

    Definition Classes
    Codec
  9. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def >>:~[L <: HList](f: ((A, B)) ⇒ Codec[L]): Codec[::[(A, B), L]]

    Permalink

    Creates a new codec that encodes/decodes an HList type of A :: L given a function A => Codec[L].

    Creates a new codec that encodes/decodes an HList type of A :: L given a function A => Codec[L]. This allows later parts of an HList codec to be dependent on earlier values. Operator alias for flatPrepend.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)] performed by method ValueCodecEnrichedWithHListSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithHListSupport
  11. final def >>~[B](f: ((A, B)) ⇒ Codec[B]): Codec[((A, B), B)]

    Permalink

    Returns a new codec that encodes/decodes a value of type (A, B) where the codec of B is dependent on A.

    Returns a new codec that encodes/decodes a value of type (A, B) where the codec of B is dependent on A. Operator alias for flatZip.

    Definition Classes
    Codec
  12. val a: TupleCodec[A, B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueEnrichedWithTuplingSupport[TupleCodec[A, B]] performed by method ValueEnrichedWithTuplingSupport in scodec.codecs.
    Definition Classes
    ValueEnrichedWithTuplingSupport
  13. def as[B](implicit as: Transformer[(A, B), B]): Codec[B]

    Permalink

    Transforms using implicitly available evidence that such a transformation is possible.

    Transforms using implicitly available evidence that such a transformation is possible.

    Typical transformations include converting:

    • an F[L] for some L <: HList to/from an F[CC] for some case class CC, where the types in the case class are aligned with the types in L
    • an F[C] for some C <: Coproduct to/from an F[SC] for some sealed class SC, where the component types in the coproduct are the leaf subtypes of the sealed class.
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  14. def asDecoder: Decoder[(A, B)]

    Permalink

    Gets this as a Decoder.

    Gets this as a Decoder.

    Definition Classes
    Decoder
  15. def asEncoder: Encoder[(A, B)]

    Permalink

    Gets this as an Encoder.

    Gets this as an Encoder.

    Definition Classes
    Encoder
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def compact: Codec[(A, B)]

    Permalink

    Converts this codec to a new codec that compacts the encoded bit vector before returning it.

    Converts this codec to a new codec that compacts the encoded bit vector before returning it.

    Definition Classes
    CodecGenCodecEncoder
  19. final def complete: Codec[(A, B)]

    Permalink

    Converts this codec to a new codec that fails decoding if there are remaining bits.

    Converts this codec to a new codec that fails decoding if there are remaining bits.

    Definition Classes
    CodecGenCodecDecoder
  20. final def consume[B](f: ((A, B)) ⇒ Codec[B])(g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Similar to flatZip except the A type is not visible in the resulting type -- the binary effects of the Codec[A] still occur though.

    Similar to flatZip except the A type is not visible in the resulting type -- the binary effects of the Codec[A] still occur though.

    Example usage:

    case class Flags(x: Boolean, y: Boolean, z: Boolean)
    (bool :: bool :: bool :: ignore(5)).consume { flgs =>
      conditional(flgs.x, uint8) :: conditional(flgs.y, uint8) :: conditional(flgs.z, uint8)
    } {
      case x :: y :: z :: HNil => Flags(x.isDefined, y.isDefined, z.isDefined) }
    }

    Note that when B is an HList, this method is equivalent to using flatPrepend and derive. That is, a.consume(f)(g) === a.flatPrepend(f).derive[A].from(g).

    Definition Classes
    Codec
  21. def contramap[C](f: (C) ⇒ (A, B)): GenCodec[C, (A, B)]

    Permalink

    Converts this GenCodec to a GenCodec[C, B] using the supplied C => A.

    Converts this GenCodec to a GenCodec[C, B] using the supplied C => A.

    Definition Classes
    GenCodecEncoder
  22. def decode(buffer: BitVector): Attempt[DecodeResult[(A, B)]]

    Permalink

    Attempts to decode a value of type A from the specified bit vector.

    Attempts to decode a value of type A from the specified bit vector.

    returns

    error if value could not be decoded or the remaining bits and the decoded value

    Definition Classes
    TupleCodecDecoder
  23. def decodeOnly[AA >: (A, B)]: Codec[AA]

    Permalink

    Converts this to a codec that fails encoding with an error.

    Converts this to a codec that fails encoding with an error.

    Definition Classes
    CodecDecoder
  24. final def decodeValue(bits: BitVector): Attempt[(A, B)]

    Permalink

    Attempts to decode a value of type A from the specified bit vector and discards the remaining bits.

    Attempts to decode a value of type A from the specified bit vector and discards the remaining bits.

    bits

    bits to decode

    returns

    error if value could not be decoded or the decoded value

    Definition Classes
    Decoder
  25. final def downcast[B <: (A, B)](implicit tb: Typeable[B]): Codec[B]

    Permalink

    Safely lifts this codec to a codec of a subtype.

    Safely lifts this codec to a codec of a subtype.

    When a supertype of B that is not a supertype of A is decoded, an decoding error is returned.

    Definition Classes
    Codec
  26. final def dropLeft[B](codecB: Codec[B])(implicit ev: =:=[Unit, (A, B)]): Codec[B]

    Permalink

    Assuming A is Unit, creates a Codec[B] that: encodes the unit followed by a B; decodes a unit followed by a B and discards the decoded unit.

    Assuming A is Unit, creates a Codec[B] that: encodes the unit followed by a B; decodes a unit followed by a B and discards the decoded unit.

    Definition Classes
    Codec
  27. final def dropRight[B](codecB: Codec[B])(implicit ev: =:=[Unit, B]): Codec[(A, B)]

    Permalink

    Assuming B is Unit, creates a Codec[A] that: encodes the A followed by a unit; decodes an A followed by a unit and discards the decoded unit.

    Assuming B is Unit, creates a Codec[A] that: encodes the A followed by a unit; decodes an A followed by a unit and discards the decoded unit.

    Definition Classes
    Codec
  28. def econtramap[C](f: (C) ⇒ Attempt[(A, B)]): GenCodec[C, (A, B)]

    Permalink

    Converts this GenCodec to a GenCodec[C, B] using the supplied C => Attempt[A].

    Converts this GenCodec to a GenCodec[C, B] using the supplied C => Attempt[A].

    Definition Classes
    GenCodecEncoder
  29. def emap[C](f: ((A, B)) ⇒ Attempt[C]): GenCodec[(A, B), C]

    Permalink

    Converts this GenCodec to a GenCodec[A, C] using the supplied B => Attempt[C].

    Converts this GenCodec to a GenCodec[A, C] using the supplied B => Attempt[C].

    Definition Classes
    GenCodecDecoder
  30. def encode(t: (A, B)): Attempt[BitVector]

    Permalink

    Attempts to encode the specified value in to a bit vector.

    Attempts to encode the specified value in to a bit vector.

    returns

    error or binary encoding of the value

    Definition Classes
    TupleCodecEncoder
  31. def encodeOnly: Codec[(A, B)]

    Permalink

    Converts this to a codec that fails decoding with an error.

    Converts this to a codec that fails decoding with an error.

    Definition Classes
    Encoder
  32. def ensuring(cond: (TupleCodec[A, B]) ⇒ Boolean, msg: ⇒ Any): TupleCodec[A, B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to Ensuring[TupleCodec[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  33. def ensuring(cond: (TupleCodec[A, B]) ⇒ Boolean): TupleCodec[A, B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to Ensuring[TupleCodec[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  34. def ensuring(cond: Boolean, msg: ⇒ Any): TupleCodec[A, B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to Ensuring[TupleCodec[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  35. def ensuring(cond: Boolean): TupleCodec[A, B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to Ensuring[TupleCodec[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  36. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  38. final def exmap[B](f: ((A, B)) ⇒ Attempt[B], g: (B) ⇒ Attempt[(A, B)]): Codec[B]

    Permalink

    Transforms using two functions, A => Attempt[B] and B => Attempt[A].

    Transforms using two functions, A => Attempt[B] and B => Attempt[A].

    Definition Classes
    Codec
  39. def exmapc[B](f: ((A, B)) ⇒ Attempt[B])(g: (B) ⇒ Attempt[(A, B)]): Codec[B]

    Permalink

    Curried version of exmap.

    Curried version of exmap.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  40. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  41. def flatMap[B](f: ((A, B)) ⇒ Decoder[B]): Decoder[B]

    Permalink

    Converts this decoder to a Decoder[B] using the supplied A => Decoder[B].

    Converts this decoder to a Decoder[B] using the supplied A => Decoder[B].

    Definition Classes
    Decoder
  42. def flatPrepend[L <: HList](f: ((A, B)) ⇒ Codec[L]): Codec[::[(A, B), L]]

    Permalink

    Creates a new codec that encodes/decodes an HList type of A :: L given a function A => Codec[L].

    Creates a new codec that encodes/decodes an HList type of A :: L given a function A => Codec[L]. This allows later parts of an HList codec to be dependent on earlier values.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)] performed by method ValueCodecEnrichedWithHListSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithHListSupport
  43. final def flatZip[B](f: ((A, B)) ⇒ Codec[B]): Codec[((A, B), B)]

    Permalink

    Returns a new codec that encodes/decodes a value of type (A, B) where the codec of B is dependent on A.

    Returns a new codec that encodes/decodes a value of type (A, B) where the codec of B is dependent on A.

    Definition Classes
    Codec
  44. def flatZipHList[B](f: ((A, B)) ⇒ Codec[B]): Codec[::[(A, B), ::[B, HNil]]]

    Permalink

    Creates a new codec that encodes/decodes an HList type of A :: B :: HNil given a function A => Codec[B].

    Creates a new codec that encodes/decodes an HList type of A :: B :: HNil given a function A => Codec[B]. If B is an HList type, consider using flatPrepend instead, which avoids nested HLists. This is the direct HList equivalent of flatZip.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)] performed by method ValueCodecEnrichedWithHListSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithHListSupport
  45. final def flattenLeftPairs(implicit f: FlattenLeftPairs[(A, B)]): Codec[Out]

    Permalink

    Converts this codec to an HList based codec by flattening all left nested pairs.

    Converts this codec to an HList based codec by flattening all left nested pairs. For example, flattenLeftPairs on a Codec[(((A, B), C), D)] results in a Codec[A :: B :: C :: D :: HNil]. This is particularly useful when combined with ~, ~>, and <~.

    Definition Classes
    Codec
  46. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to StringFormat[TupleCodec[A, B]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  47. final def fuse[AA <: (A, B), BB >: (A, B)](implicit ev: =:=[BB, AA]): Codec[BB]

    Permalink

    Converts this generalized codec in to a non-generalized codec assuming A and B are the same type.

    Converts this generalized codec in to a non-generalized codec assuming A and B are the same type.

    Definition Classes
    GenCodec
  48. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  49. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  50. final def hlist: Codec[::[(A, B), HNil]]

    Permalink

    Lifts this codec in to a codec of a singleton hlist.

    Lifts this codec in to a codec of a singleton hlist.

    Definition Classes
    Codec
  51. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  52. def map[C](f: ((A, B)) ⇒ C): GenCodec[(A, B), C]

    Permalink

    Converts this GenCodec to a GenCodec[A, C] using the supplied B => C.

    Converts this GenCodec to a GenCodec[A, C] using the supplied B => C.

    Definition Classes
    GenCodecDecoder
  53. final def narrow[B](f: ((A, B)) ⇒ Attempt[B], g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Transforms using two functions, A => Attempt[B] and B => A.

    Transforms using two functions, A => Attempt[B] and B => A.

    The supplied functions form an injection from B to A. Hence, this method converts from a larger to a smaller type. Hence, the name narrow.

    Definition Classes
    Codec
  54. def narrowc[B](f: ((A, B)) ⇒ Attempt[B])(g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Curried version of narrow.

    Curried version of narrow.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  55. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  56. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  57. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  58. final def pairedWith[B](codecB: Codec[B]): Codec[((A, B), B)]

    Permalink

    Creates a Codec[(A, B)] that first encodes/decodes an A followed by a B.

    Creates a Codec[(A, B)] that first encodes/decodes an A followed by a B.

    Definition Classes
    Codec
  59. def pcontramap[C](f: (C) ⇒ Option[(A, B)]): GenCodec[C, (A, B)]

    Permalink

    Converts this GenCodec to a GenCodec[C, B] using the supplied partial function from C to A.

    Converts this GenCodec to a GenCodec[C, B] using the supplied partial function from C to A. The encoding will fail for any C that f maps to None.

    Definition Classes
    GenCodecEncoder
  60. def polyxmap[B](p: Poly, q: Poly)(implicit aToB: Aux[p.type, ::[(A, B), HNil], B], bToA: Aux[q.type, ::[B, HNil], (A, B)]): Codec[B]

    Permalink

    Polymorphic function version of xmap.

    Polymorphic function version of xmap.

    When called on a Codec[A] where A is not a subytpe of HList, returns a new codec that's the result of xmapping with p and q, using p to convert from A to B and using q to convert from B to A.

    p

    polymorphic function that converts from A to B

    q

    polymorphic function that converts from B to A

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithGenericSupport[(A, B)] performed by method ValueCodecEnrichedWithGenericSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithGenericSupport
  61. def polyxmap1[B](p: Poly)(implicit aToB: Aux[p.type, ::[(A, B), HNil], B], bToA: Aux[p.type, ::[B, HNil], (A, B)]): Codec[B]

    Permalink

    Polymorphic function version of xmap that uses a single polymorphic function in both directions.

    Polymorphic function version of xmap that uses a single polymorphic function in both directions.

    When called on a Codec[A] where A is not a subytpe of HList, returns a new codec that's the result of xmapping with p for both forward and reverse directions.

    p

    polymorphic function that converts from A to B and from B to A

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithGenericSupport[(A, B)] performed by method ValueCodecEnrichedWithGenericSupport in scodec.
    Definition Classes
    ValueCodecEnrichedWithGenericSupport
  62. def selectEncoder[A](implicit inj: Inject[Coproduct with (A, B), A]): Encoder[A]

    Permalink

    When called on a Encoder[C] where C is a coproduct containing type A, converts to an Encoder[A].

    When called on a Encoder[C] where C is a coproduct containing type A, converts to an Encoder[A].

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to EnrichedCoproductEncoder[Coproduct with (A, B)] performed by method EnrichedCoproductEncoder in scodec.
    Definition Classes
    EnrichedCoproductEncoder
  63. def sizeBound: SizeBound

    Permalink

    Provides a bound on the size of successfully encoded values.

    Provides a bound on the size of successfully encoded values.

    Definition Classes
    TupleCodecEncoder
  64. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  65. def toField[K]: Codec[FieldType[K, (A, B)]]

    Permalink

    Lifts this codec to a codec of a shapeless field -- allowing it to be used in records and unions.

    Lifts this codec to a codec of a shapeless field -- allowing it to be used in records and unions.

    Definition Classes
    Codec
  66. def toFieldWithContext[K <: Symbol](k: K): Codec[FieldType[K, (A, B)]]

    Permalink

    Lifts this codec to a codec of a shapeless field -- allowing it to be used in records and unions.

    Lifts this codec to a codec of a shapeless field -- allowing it to be used in records and unions. The specified key is pushed in to the context of any errors that are returned from the resulting codec.

    Definition Classes
    Codec
  67. def toString(): String

    Permalink
    Definition Classes
    TupleCodec → AnyRef → Any
  68. final def unit(zero: (A, B)): Codec[Unit]

    Permalink

    Converts this to a Codec[Unit] that encodes using the specified zero value and decodes a unit value when this codec decodes an A successfully.

    Converts this to a Codec[Unit] that encodes using the specified zero value and decodes a unit value when this codec decodes an A successfully.

    Definition Classes
    Codec
  69. final def upcast[B >: (A, B)](implicit ta: Typeable[(A, B)]): Codec[B]

    Permalink

    Safely lifts this codec to a codec of a supertype.

    Safely lifts this codec to a codec of a supertype.

    When a subtype of B that is not a subtype of A is passed to encode, an encoding error is returned.

    Definition Classes
    Codec
  70. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def widen[B](f: ((A, B)) ⇒ B, g: (B) ⇒ Attempt[(A, B)]): Codec[B]

    Permalink

    Transforms using two functions, A => B and B => Attempt[A].

    Transforms using two functions, A => B and B => Attempt[A].

    The supplied functions form an injection from A to B. Hence, this method converts from a smaller to a larger type. Hence, the name widen.

    Definition Classes
    Codec
  74. def widenAs[X](to: (A, B) ⇒ X, from: (X) ⇒ Option[(A, B)]): Codec[X]

    Permalink
  75. def widenOpt[B](f: ((A, B)) ⇒ B, g: (B) ⇒ Option[(A, B)]): Codec[B]

    Permalink

    Transforms using two functions, A => B and B => Option[A].

    Transforms using two functions, A => B and B => Option[A].

    Particularly useful when combined with case class apply/unapply. E.g., widenOpt(fa, Foo.apply, Foo.unapply).

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  76. def widenOptc[B](f: ((A, B)) ⇒ B)(g: (B) ⇒ Option[(A, B)]): Codec[B]

    Permalink

    Curried version of widenOpt.

    Curried version of widenOpt.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  77. def widenc[B](f: ((A, B)) ⇒ B)(g: (B) ⇒ Attempt[(A, B)]): Codec[B]

    Permalink

    Curried version of widen.

    Curried version of widen.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  78. final def withContext(context: String): Codec[(A, B)]

    Permalink

    Creates a new codec that is functionally equivalent to this codec but pushes the specified context string in to any errors returned from encode or decode.

    Creates a new codec that is functionally equivalent to this codec but pushes the specified context string in to any errors returned from encode or decode.

    Definition Classes
    Codec
  79. final def withToString(str: ⇒ String): Codec[(A, B)]

    Permalink

    Creates a new codec that is functionally equivalent to this codec but returns the specified string from toString.

    Creates a new codec that is functionally equivalent to this codec but returns the specified string from toString.

    Definition Classes
    Codec
  80. final def xmap[B](f: ((A, B)) ⇒ B, g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Transforms using the isomorphism described by two functions, A => B and B => A.

    Transforms using the isomorphism described by two functions, A => B and B => A.

    Definition Classes
    Codec
  81. def xmapc[B](f: ((A, B)) ⇒ B)(g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Curried version of xmap.

    Curried version of xmap.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
  82. final def ~[B](codecB: Codec[B]): Codec[((A, B), B)]

    Permalink

    Creates a Codec[(A, B)] that first encodes/decodes an A followed by a B.

    Creates a Codec[(A, B)] that first encodes/decodes an A followed by a B.

    Operator alias for pairedWith.

    Definition Classes
    Codec
  83. final def ~>[B](codecB: Codec[B])(implicit ev: =:=[Unit, (A, B)]): Codec[B]

    Permalink

    Assuming A is Unit, creates a Codec[B] that: encodes the unit followed by a B; decodes a unit followed by a B and discards the decoded unit.

    Assuming A is Unit, creates a Codec[B] that: encodes the unit followed by a B; decodes a unit followed by a B and discards the decoded unit.

    Operator alias of dropLeft.

    Definition Classes
    Codec
  84. def ~~[C](C: Codec[C]): Tuple3Codec[A, B, C]

    Permalink
  85. def [B](y: B): (TupleCodec[A, B], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ArrowAssoc[TupleCodec[A, B]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. def exmap[B](f: ((A, B)) ⇒ Attempt[B], g: (B) ⇒ Attempt[(A, B)]): Codec[B]

    Permalink

    Transforms using two functions, A => Attempt[B] and B => Attempt[A].

    Transforms using two functions, A => Attempt[B] and B => Attempt[A].

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (tupleCodec: TransformSyntax[Codec, (A, B)]).exmap(f, g)
    Definition Classes
    TransformSyntax
  2. def narrow[B](f: ((A, B)) ⇒ Attempt[B], g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Transforms using two functions, A => Attempt[B] and B => A.

    Transforms using two functions, A => Attempt[B] and B => A.

    The supplied functions form an injection from B to A. Hence, this method converts from a larger to a smaller type. Hence, the name narrow.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (tupleCodec: TransformSyntax[Codec, (A, B)]).narrow(f, g)
    Definition Classes
    TransformSyntax
  3. val self: Codec[(A, B)]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to Tuple2CodecSupport[(A, B)] performed by method Tuple2CodecSupport in scodec.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (tupleCodec: Tuple2CodecSupport[(A, B)]).self
    Definition Classes
    Tuple2CodecSupport
  4. val self: Encoder[Coproduct with (A, B)]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to EnrichedCoproductEncoder[Coproduct with (A, B)] performed by method EnrichedCoproductEncoder in scodec.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (tupleCodec: EnrichedCoproductEncoder[Coproduct with (A, B)]).self
    Definition Classes
    EnrichedCoproductEncoder
  5. val self: Codec[(A, B)]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithGenericSupport[(A, B)] performed by method ValueCodecEnrichedWithGenericSupport in scodec.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (tupleCodec: ValueCodecEnrichedWithGenericSupport[(A, B)]).self
    Definition Classes
    ValueCodecEnrichedWithGenericSupport
  6. val self: Codec[(A, B)]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)] performed by method ValueCodecEnrichedWithHListSupport in scodec.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (tupleCodec: ValueCodecEnrichedWithHListSupport[(A, B)]).self
    Definition Classes
    ValueCodecEnrichedWithHListSupport
  7. val self: Codec[(A, B)]

    Permalink

    Supports TransformSyntax.

    Supports TransformSyntax.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (tupleCodec: TransformSyntax[Codec, (A, B)]).self
    Definition Classes
    TransformSyntax
  8. def widen[B](f: ((A, B)) ⇒ B, g: (B) ⇒ Attempt[(A, B)]): Codec[B]

    Permalink

    Transforms using two functions, A => B and B => Attempt[A].

    Transforms using two functions, A => B and B => Attempt[A].

    The supplied functions form an injection from A to B. Hence, this method converts from a smaller to a larger type. Hence, the name widen.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (tupleCodec: TransformSyntax[Codec, (A, B)]).widen(f, g)
    Definition Classes
    TransformSyntax
  9. def xmap[B](f: ((A, B)) ⇒ B, g: (B) ⇒ (A, B)): Codec[B]

    Permalink

    Transforms using the isomorphism described by two functions, A => B and B => A.

    Transforms using the isomorphism described by two functions, A => B and B => A.

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (tupleCodec: TransformSyntax[Codec, (A, B)]).xmap(f, g)
    Definition Classes
    TransformSyntax
  10. def ~[B](b: B): (TupleCodec[A, B], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to ValueEnrichedWithTuplingSupport[TupleCodec[A, B]] performed by method ValueEnrichedWithTuplingSupport in scodec.codecs.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (tupleCodec: ValueEnrichedWithTuplingSupport[TupleCodec[A, B]]).~(b)
    Definition Classes
    ValueEnrichedWithTuplingSupport
  11. def ~~[B](B: Codec[B]): TupleCodec[(A, B), B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to Tuple2CodecSupport[(A, B)] performed by method Tuple2CodecSupport in scodec.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (tupleCodec: Tuple2CodecSupport[(A, B)]).~~(B)
    Definition Classes
    Tuple2CodecSupport

Deprecated Value Members

  1. def pxmap[B](f: ((A, B)) ⇒ B, g: (B) ⇒ Option[(A, B)]): Codec[B]

    Permalink

    Transforms using two functions, A => B and B => Option[A].

    Transforms using two functions, A => B and B => Option[A].

    Particularly useful when combined with case class apply/unapply. E.g., pxmap(fa, Foo.apply, Foo.unapply).

    Implicit information
    This member is added by an implicit conversion from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)] performed by method TransformSyntax in scodec.
    Definition Classes
    TransformSyntax
    Annotations
    @deprecated
    Deprecated

    (Since version 1.7.0) Use widenOpt instead

Inherited from Codec[(A, B)]

Inherited from GenCodec[(A, B), (A, B)]

Inherited from Decoder[(A, B)]

Inherited from Encoder[(A, B)]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion Tuple2CodecSupport from TupleCodec[A, B] to Tuple2CodecSupport[(A, B)]

Inherited by implicit conversion EnrichedCoproductEncoder from TupleCodec[A, B] to EnrichedCoproductEncoder[Coproduct with (A, B)]

Inherited by implicit conversion ValueCodecEnrichedWithGenericSupport from TupleCodec[A, B] to ValueCodecEnrichedWithGenericSupport[(A, B)]

Inherited by implicit conversion ValueCodecEnrichedWithHListSupport from TupleCodec[A, B] to ValueCodecEnrichedWithHListSupport[(A, B)]

Inherited by implicit conversion TransformSyntax from TupleCodec[A, B] to TransformSyntax[Codec, (A, B)]

Inherited by implicit conversion ValueEnrichedWithTuplingSupport from TupleCodec[A, B] to ValueEnrichedWithTuplingSupport[TupleCodec[A, B]]

Inherited by implicit conversion any2stringadd from TupleCodec[A, B] to any2stringadd[TupleCodec[A, B]]

Inherited by implicit conversion StringFormat from TupleCodec[A, B] to StringFormat[TupleCodec[A, B]]

Inherited by implicit conversion Ensuring from TupleCodec[A, B] to Ensuring[TupleCodec[A, B]]

Inherited by implicit conversion ArrowAssoc from TupleCodec[A, B] to ArrowAssoc[TupleCodec[A, B]]

Primary Members

Basic Combinators

Tuple Support

HList Support

Coproduct Support

Generic Support

Ungrouped