Trait kfl::traits::DecodeScalar

source ·
pub trait DecodeScalar<S: ErrorSpan>: Sized {
    // Required method
    fn decode(
        value: &Value<S>,
        ctx: &mut Context<S>
    ) -> Result<Self, DecodeError<S>>;
}
Expand description

The trait that decodes scalar value and checks its type

Required Methods§

source

fn decode(value: &Value<S>, ctx: &mut Context<S>) -> Result<Self, DecodeError<S>>

Decode the value and typecheck

This should not be overriden and uses type_check in combination with raw_decode.

Implementations on Foreign Types§

source§

impl<S: ErrorSpan> DecodeScalar<S> for SocketAddr

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for f64

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan, T: DecodeScalar<S>> DecodeScalar<S> for Arc<T>

source§

fn decode(value: &Value<S>, ctx: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for i16

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for u64

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for Vec<u8>

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for u32

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for isize

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for i32

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan, T: DecodeScalar<S>> DecodeScalar<S> for Rc<T>

source§

fn decode(value: &Value<S>, ctx: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for f32

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for i64

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for usize

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for String

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for bool

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for u8

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for PathBuf

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan, T: DecodeScalar<S>> DecodeScalar<S> for Option<T>

source§

fn decode(value: &Value<S>, ctx: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan, T: DecodeScalar<S>> DecodeScalar<S> for Box<T>

source§

fn decode(value: &Value<S>, ctx: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for u16

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

source§

impl<S: ErrorSpan> DecodeScalar<S> for i8

source§

fn decode(value: &Value<S>, _: &mut Context<S>) -> Result<Self, DecodeError<S>>

Implementors§

source§

impl<S: Span> DecodeScalar<S> for Literal

source§

impl<S: Span, T: DecodeSpan<S>> DecodeScalar<S> for Value<T>

source§

impl<T: DecodeScalar<S>, S, Q> DecodeScalar<S> for Spanned<T, Q>where S: Span, Q: DecodeSpan<S>,