Trait esexpr::ESExprCodec

source ·
pub trait ESExprCodec
where Self: Sized,
{ // Required methods fn tags() -> HashSet<ESExprTag>; fn encode_esexpr(self) -> ESExpr; fn decode_esexpr(expr: ESExpr) -> Result<Self, DecodeError>; }
Expand description

A codec that encodes and decodes ESExpr values.

Required Methods§

source

fn tags() -> HashSet<ESExprTag>

The tags that this type is expected to be encoded as.

source

fn encode_esexpr(self) -> ESExpr

Encode this value into an expression.

source

fn decode_esexpr(expr: ESExpr) -> Result<Self, DecodeError>

Decode an expression into a value.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ESExprCodec for bool

source§

impl ESExprCodec for f32

source§

impl ESExprCodec for f64

source§

impl ESExprCodec for i8

source§

impl ESExprCodec for i16

source§

impl ESExprCodec for i32

source§

impl ESExprCodec for i64

source§

impl ESExprCodec for i128

source§

impl ESExprCodec for isize

source§

impl ESExprCodec for u8

source§

impl ESExprCodec for u16

source§

impl ESExprCodec for u32

source§

impl ESExprCodec for u64

source§

impl ESExprCodec for u128

source§

impl ESExprCodec for ()

source§

impl ESExprCodec for usize

source§

impl ESExprCodec for String

source§

impl ESExprCodec for BigInt

source§

impl ESExprCodec for BigUint

source§

impl<A: ESExprCodec> ESExprCodec for Option<A>

source§

impl<A: ESExprCodec> ESExprCodec for Box<A>

source§

impl<A: ESExprCodec> ESExprCodec for Vec<A>

Implementors§