Codex (bin_codex v0.1.0)

Link to this section Summary

Link to this section Types

Link to this type

decode_result()

Specs

decode_result() ::
  {:ok, type(), remaining_bits()} | {:error, Sting.t(), remaining_bits()}

Specs

decoder() :: (bitstring() -> decode_result())
Link to this type

encode_result()

Specs

encode_result() :: {:ok, bitstring()} | {:error, Sting.t()}

Specs

encoder() :: (type() -> encode_result())
Link to this type

remaining_bits()

Specs

remaining_bits() :: bitstring()

Specs

type() :: any()

Link to this section Functions

Specs

byte() :: %Codex{decode: term(), encode: term()}

Specs

bytes(non_neg_integer()) :: %Codex{decode: term(), encode: term()}
Link to this function

combine(codec1, codec2)

Specs

combine(%Codex{decode: term(), encode: term()}, %Codex{
  decode: term(),
  encode: term()
}) :: %Codex{decode: term(), encode: term()}
Link to this function

cons(codec, list_codec)

Specs

cons(%Codex{decode: term(), encode: term()}, %Codex{
  decode: term(),
  encode: term()
}) :: %Codex{decode: term(), encode: term()}
Link to this function

convert(codec, convert_to, convert_from)

Specs

convert(
  %Codex{decode: term(), encode: term()},
  (type() -> type()),
  (type() -> type())
) :: %Codex{decode: term(), encode: term()}
Link to this function

create(encode, decode)

Specs

create(encoder(), decoder()) :: %Codex{decode: term(), encode: term()}
Link to this function

decode(bits, codex)

Specs

decode(bitstring(), %Codex{decode: term(), encode: term()}) :: decode_result()

Specs

empty() :: %Codex{decode: term(), encode: term()}
Link to this function

encode(value, codex)

Specs

encode(type(), %Codex{decode: term(), encode: term()}) :: encode_result()
Link to this function

list_of(count, codec)

Specs

list_of(non_neg_integer(), %Codex{decode: term(), encode: term()}) :: %Codex{
  decode: term(),
  encode: term()
}
Link to this function

test(value, codec)