Value members
Concrete methods
Creates a codec from encoder and decoder functions.
Creates a codec from encoder and decoder functions.
Inherited methods
Creates a decoder that decodes with each of the specified decoders, returning the first successful result.
Creates a decoder that decodes with each of the specified decoders, returning the first successful result.
- Inherited from
- DecoderFunctions
Creates an encoder that encodes with each of the specified encoders, returning the first successful result.
Creates an encoder that encodes with each of the specified encoders, returning the first successful result.
- Inherited from
- EncoderFunctions
Decodes a tuple (A, B)
by first decoding A
and then using the remaining bits to decode B
.
Decodes a tuple (A, B)
by first decoding A
and then using the remaining bits to decode B
.
- Inherited from
- DecoderFunctions
Decodes a C
by first decoding A
and then using the remaining bits to decode B
, then applying the decoded values to the specified function to generate a C
.
Decodes a C
by first decoding A
and then using the remaining bits to decode B
, then applying the decoded values to the specified function to generate a C
.
- Inherited from
- DecoderFunctions
Encodes the specified value using the given Encoder[A]
.
Encodes the specified value using the given Encoder[A]
.
- Inherited from
- EncoderFunctions
Encodes the specified values, one after the other, to a bit vector using the specified encoders.
Encodes the specified values, one after the other, to a bit vector using the specified encoders.
- Inherited from
- EncoderFunctions
Concrete fields
Givens
Givens
Extensions
Extensions
When called on a Codec[A]
where A
is not a tuple, creates a new codec that encodes/decodes a tuple of (B, A)
.
For example,
When called on a Codec[A]
where A
is not a tuple, creates a new codec that encodes/decodes a tuple of (B, A)
.
For example,
uint8 :: utf8
has type Codec[(Int, Int)]
.
uint8 :: utf8 }}}
When called on a Codec[A]
for some A <: Tuple
, returns a new codec that encodes/decodes
the tuple A
followed by the tuple B
, where the latter is encoded/decoded with the codec
returned from applying A
to f
.
When called on a Codec[A]
for some A <: Tuple
, returns a new codec that encodes/decodes
the tuple A
followed by the tuple B
, where the latter is encoded/decoded with the codec
returned from applying A
to f
.
Builds a Codec[A ++ B]
from a Codec[A]
and a Codec[B]
where A
and B
are tuples.
That is, this operator is a codec-level tuple concat operation.
Builds a Codec[A ++ B]
from a Codec[A]
and a Codec[B]
where A
and B
are tuples.
That is, this operator is a codec-level tuple concat operation.
- Value Params
- codecA
codec to concat
When called on a Codec[A]
for some A <: Tuple
, returns a new codec that encodes/decodes
the tuple A
followed by the value B
, where the latter is encoded/decoded with the codec
returned from applying A
to f
.
When called on a Codec[A]
for some A <: Tuple
, returns a new codec that encodes/decodes
the tuple A
followed by the value B
, where the latter is encoded/decoded with the codec
returned from applying A
to f
.
Creates a new codec that encodes/decodes a tuple of A :: B
given a function A => Codec[B]
.
This allows later parts of a tuple codec to be dependent on earlier values.
Creates a new codec that encodes/decodes a tuple of A :: B
given a function A => Codec[B]
.
This allows later parts of a tuple codec to be dependent on earlier values.
Builds a Codec[A *: B]
from a Codec[A]
and a Codec[B]
where B
is a tuple type.
That is, this operator is a codec-level tuple prepend operation.
Builds a Codec[A *: B]
from a Codec[A]
and a Codec[B]
where B
is a tuple type.
That is, this operator is a codec-level tuple prepend operation.
- Value Params
- codec
codec to prepend
codecB :+ codecA
returns a new codec that encodes/decodes the tuple B
followed by an A
.
That is, this operator is a codec-level tuple append operation.
codecB :+ codecA
returns a new codec that encodes/decodes the tuple B
followed by an A
.
That is, this operator is a codec-level tuple append operation.