PaddedVarAlignedCodec
Document{}
Creates a new codec that is functionally equivalent to this codec but returns the specified string from toString
.
- Inherited from
- Codec
Returns a new codec that encodes/decodes a value of type (A, B)
where the codec of B
is dependent on A
.
- Inherited from
- Codec
Repeatedly decodes values of type A
from the specified vector, converts each value to a B
and appends it to an accumulator of type
B
using the supplied zero
value and append
function. Terminates when no more bits are available in the vector. Exits upon first decoding error.
- Returns
tuple consisting of the terminating error if any and the accumulated value
- Inherited from
- Decoder
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.
- Inherited from
- Codec
Repeatedly decodes values of type A
from the specified vector and returns a collection of the specified type.
Terminates when no more bits are available in the vector or when limit
is defined and that many records have been
decoded. Exits upon first decoding error.
- Inherited from
- Decoder
Encodes all elements of the specified sequence and concatenates the results, or returns the first encountered error.
- Inherited from
- Encoder
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.
- Inherited from
- Codec
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) => Flags(x.isDefined, y.isDefined, z.isDefined) } } }}}
- Inherited from
- Codec
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.
- Inherited from
- Codec
Attempts to decode a value of type A
from the specified bit vector and discards the remaining bits.
- Value Params
- bits
bits to decode
- Returns
error if value could not be decoded or the decoded value
- Inherited from
- Decoder
Converts this encoder to an Encoder[B]
using the supplied partial
function from B
to A
. The encoding will fail for any B
that
f
maps to None
.
- Inherited from
- Encoder
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.
- Inherited from
- Codec
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.
- Inherited from
- Codec
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.
- Inherited from
- Codec
Value members
Methods
Inherited methods
Transforms this codec to a Codec[B]
if A
is isomorphic to B
.
This is most commonly used to convert a tuple codec to a case class:
- Example
{{{ case class Point(x: Int, y: Int, z: Int) val c: Codec[(Int, Int, Int)] = int8 :: int8 :: int8 val p: Codec[Point] = c.as[Point] }}}
- Inherited from
- Codec