final class Tuple5Codec[A, B, C, D, E] extends Codec[(A, B, C, D, E)]
- Source
- TupleCodec.scala
- Alphabetic
- By Inheritance
- Tuple5Codec
- Codec
- GenCodec
- Decoder
- Encoder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
:+:[B](left: Codec[B]): CoproductCodecBuilder[:+:[B, :+:[(A, B, C, D, E), CNil]], ::[Codec[B], ::[Codec[(A, B, C, D, E)], HNil]], :+:[B, :+:[(A, B, C, D, E), CNil]]]
Supports creation of a coproduct codec.
Supports creation of a coproduct codec. See scodec.codecs.CoproductCodecBuilder for details.
- Definition Classes
- Codec
-
final
def
<~[B](codecB: Codec[B])(implicit ev: =:=[Unit, B]): Codec[(A, B, C, D, E)]
Assuming
B
isUnit
, creates aCodec[A]
that: encodes theA
followed by a unit; decodes anA
followed by a unit and discards the decoded unit. -
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
>>~[B](f: ((A, B, C, D, E)) ⇒ Codec[B]): Codec[((A, B, C, D, E), B)]
Returns a new codec that encodes/decodes a value of type
(A, B)
where the codec ofB
is dependent onA
. -
def
asDecoder: Decoder[(A, B, C, D, E)]
Gets this as a
Decoder
.Gets this as a
Decoder
.- Definition Classes
- Decoder
-
def
asEncoder: Encoder[(A, B, C, D, E)]
Gets this as an
Encoder
.Gets this as an
Encoder
.- Definition Classes
- Encoder
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
compact: Codec[(A, B, C, D, E)]
Converts this codec to a new codec that compacts the encoded bit vector before returning it.
-
final
def
complete: Codec[(A, B, C, D, E)]
Converts this codec to a new codec that fails decoding if there are remaining bits.
-
final
def
consume[B](f: ((A, B, C, D, E)) ⇒ Codec[B])(g: (B) ⇒ (A, B, C, D, E)): Codec[B]
Similar to
flatZip
except theA
type is not visible in the resulting type -- the binary effects of theCodec[A]
still occur though.Similar to
flatZip
except theA
type is not visible in the resulting type -- the binary effects of theCodec[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 anHList
, this method is equivalent to usingflatPrepend
andderive
. That is,a.consume(f)(g) === a.flatPrepend(f).derive[A].from(g)
.- Definition Classes
- Codec
-
def
contramap[C](f: (C) ⇒ (A, B, C, D, E)): GenCodec[C, (A, B, C, D, E)]
Converts this
GenCodec
to aGenCodec[C, B]
using the suppliedC => A
. -
def
decode(bits: BitVector): Attempt[DecodeResult[(A, B, C, D, E)]]
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.- bits
bits to decode
- returns
error if value could not be decoded or the remaining bits and the decoded value
- Definition Classes
- Tuple5Codec → Decoder
-
def
decodeOnly[AA >: (A, B, C, D, E)]: Codec[AA]
Converts this to a codec that fails encoding with an error.
-
final
def
decodeValue(bits: BitVector): Attempt[(A, B, C, D, E)]
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
-
final
def
downcast[B <: (A, B, C, D, E)](implicit tb: Typeable[B]): Codec[B]
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 ofA
is decoded, an decoding error is returned.- Definition Classes
- Codec
-
final
def
dropLeft[B](codecB: Codec[B])(implicit ev: =:=[Unit, (A, B, C, D, E)]): Codec[B]
Assuming
A
isUnit
, creates aCodec[B]
that: encodes the unit followed by aB
; decodes a unit followed by aB
and discards the decoded unit.Assuming
A
isUnit
, creates aCodec[B]
that: encodes the unit followed by aB
; decodes a unit followed by aB
and discards the decoded unit.- Definition Classes
- Codec
-
final
def
dropRight[B](codecB: Codec[B])(implicit ev: =:=[Unit, B]): Codec[(A, B, C, D, E)]
Assuming
B
isUnit
, creates aCodec[A]
that: encodes theA
followed by a unit; decodes anA
followed by a unit and discards the decoded unit.Assuming
B
isUnit
, creates aCodec[A]
that: encodes theA
followed by a unit; decodes anA
followed by a unit and discards the decoded unit.- Definition Classes
- Codec
-
def
econtramap[C](f: (C) ⇒ Attempt[(A, B, C, D, E)]): GenCodec[C, (A, B, C, D, E)]
Converts this
GenCodec
to aGenCodec[C, B]
using the suppliedC => Attempt[A]
. -
def
emap[C](f: ((A, B, C, D, E)) ⇒ Attempt[C]): GenCodec[(A, B, C, D, E), C]
Converts this
GenCodec
to aGenCodec[A, C]
using the suppliedB => Attempt[C]
. -
def
encode(abcde: (A, B, C, D, E)): Attempt[BitVector]
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
- Tuple5Codec → Encoder
-
def
encodeOnly: Codec[(A, B, C, D, E)]
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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
exmap[B](f: ((A, B, C, D, E)) ⇒ Attempt[B], g: (B) ⇒ Attempt[(A, B, C, D, E)]): Codec[B]
Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.- Definition Classes
- Codec
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
flatMap[B](f: ((A, B, C, D, E)) ⇒ Decoder[B]): Decoder[B]
Converts this decoder to a
Decoder[B]
using the suppliedA => Decoder[B]
.Converts this decoder to a
Decoder[B]
using the suppliedA => Decoder[B]
.- Definition Classes
- Decoder
-
final
def
flatZip[B](f: ((A, B, C, D, E)) ⇒ Codec[B]): Codec[((A, B, C, D, E), B)]
Returns a new codec that encodes/decodes a value of type
(A, B)
where the codec ofB
is dependent onA
.Returns a new codec that encodes/decodes a value of type
(A, B)
where the codec ofB
is dependent onA
.- Definition Classes
- Codec
-
final
def
flattenLeftPairs(implicit f: FlattenLeftPairs[(A, B, C, D, E)]): Codec[Out]
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 aCodec[(((A, B), C), D)]
results in aCodec[A :: B :: C :: D :: HNil]
. This is particularly useful when combined with~
,~>
, and<~
.- Definition Classes
- Codec
-
final
def
fuse[AA <: (A, B, C, D, E), BB >: (A, B, C, D, E)](implicit ev: =:=[BB, AA]): Codec[BB]
Converts this generalized codec in to a non-generalized codec assuming
A
andB
are the same type.Converts this generalized codec in to a non-generalized codec assuming
A
andB
are the same type.- Definition Classes
- GenCodec
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
hlist: Codec[::[(A, B, C, D, E), HNil]]
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
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
map[C](f: ((A, B, C, D, E)) ⇒ C): GenCodec[(A, B, C, D, E), C]
Converts this
GenCodec
to aGenCodec[A, C]
using the suppliedB => C
. -
final
def
narrow[B](f: ((A, B, C, D, E)) ⇒ Attempt[B], g: (B) ⇒ (A, B, C, D, E)): Codec[B]
Transforms using two functions,
A => Attempt[B]
andB => A
.Transforms using two functions,
A => Attempt[B]
andB => A
.The supplied functions form an injection from
B
toA
. Hence, this method converts from a larger to a smaller type. Hence, the namenarrow
.- Definition Classes
- Codec
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
pairedWith[B](codecB: Codec[B]): Codec[((A, B, C, D, E), B)]
Creates a
Codec[(A, B)]
that first encodes/decodes anA
followed by aB
.Creates a
Codec[(A, B)]
that first encodes/decodes anA
followed by aB
.- Definition Classes
- Codec
-
def
pcontramap[C](f: (C) ⇒ Option[(A, B, C, D, E)]): GenCodec[C, (A, B, C, D, E)]
Converts this
GenCodec
to aGenCodec[C, B]
using the supplied partial function fromC
toA
. -
def
sizeBound: SizeBound
Provides a bound on the size of successfully encoded values.
Provides a bound on the size of successfully encoded values.
- Definition Classes
- Tuple5Codec → Encoder
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toField[K]: Codec[FieldType[K, (A, B, C, D, E)]]
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
-
def
toFieldWithContext[K <: Symbol](k: K): Codec[FieldType[K, (A, B, C, D, E)]]
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
-
def
toString(): String
- Definition Classes
- Tuple5Codec → AnyRef → Any
-
final
def
tuple: Codec[::[(A, B, C, D, E), HNil]]
Alias for
.hlist
- allows cross compilation with Scodec 2 / Scala 3.Alias for
.hlist
- allows cross compilation with Scodec 2 / Scala 3.- Definition Classes
- Codec
-
final
def
unit(zero: (A, B, C, D, E)): Codec[Unit]
Converts this to a
Codec[Unit]
that encodes using the specified zero value and decodes a unit value when this codec decodes anA
successfully.Converts this to a
Codec[Unit]
that encodes using the specified zero value and decodes a unit value when this codec decodes anA
successfully.- Definition Classes
- Codec
-
final
def
upcast[B >: (A, B, C, D, E)](implicit ta: Typeable[(A, B, C, D, E)]): Codec[B]
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 ofA
is passed to encode, an encoding error is returned.- Definition Classes
- Codec
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
widen[B](f: ((A, B, C, D, E)) ⇒ B, g: (B) ⇒ Attempt[(A, B, C, D, E)]): Codec[B]
Transforms using two functions,
A => B
andB => Attempt[A]
.Transforms using two functions,
A => B
andB => Attempt[A]
.The supplied functions form an injection from
A
toB
. Hence, this method converts from a smaller to a larger type. Hence, the namewiden
.- Definition Classes
- Codec
- def widenAs[X](to: (A, B, C, D, E) ⇒ X, from: (X) ⇒ Option[(A, B, C, D, E)]): Codec[X]
-
final
def
withContext(context: String): Codec[(A, B, C, D, E)]
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
-
final
def
withToString(str: ⇒ String): Codec[(A, B, C, D, E)]
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
-
final
def
xmap[B](f: ((A, B, C, D, E)) ⇒ B, g: (B) ⇒ (A, B, C, D, E)): Codec[B]
Transforms using the isomorphism described by two functions,
A => B
andB => A
.Transforms using the isomorphism described by two functions,
A => B
andB => A
.- Definition Classes
- Codec
-
final
def
~[B](codecB: Codec[B]): Codec[((A, B, C, D, E), B)]
Creates a
Codec[(A, B)]
that first encodes/decodes anA
followed by aB
.Creates a
Codec[(A, B)]
that first encodes/decodes anA
followed by aB
.Operator alias for pairedWith.
- Definition Classes
- Codec
-
final
def
~>[B](codecB: Codec[B])(implicit ev: =:=[Unit, (A, B, C, D, E)]): Codec[B]
Assuming
A
isUnit
, creates aCodec[B]
that: encodes the unit followed by aB
; decodes a unit followed by aB
and discards the decoded unit. - def ~~[F](F: Codec[F]): Tuple6Codec[A, B, C, D, E, F]