LoadStore

Trait LoadStore 

Source
pub trait LoadStore<T: TypeSet = DefaultTypeSet> {
    type Output<'s>
       where T: 's;

    // Required methods
    fn load<'s>(
        _ctx: &'s T,
        typed: &'s TypedValue<T>,
    ) -> Option<Self::Output<'s>>;
    fn store(&self, _ctx: &mut T) -> TypedValue<T>;
}
Expand description

Converts between a borrowed Rust value and a TypedValue.

Required Associated Types§

Source

type Output<'s> where T: 's

The type of the result.

Required Methods§

Source

fn load<'s>(_ctx: &'s T, typed: &'s TypedValue<T>) -> Option<Self::Output<'s>>

Loads a borrowed value from the given type context.

Source

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Stores a Rust value into a TypedValue using the given type context.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T: TypeSet> LoadStore<T> for &str

Source§

type Output<'s> = &'s str where T: 's

Source§

fn load<'s>(ctx: &'s T, typed: &'s TypedValue<T>) -> Option<Self::Output<'s>>

Source§

fn store(&self, ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet> LoadStore<T> for bool

Source§

type Output<'s> = bool

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet> LoadStore<T> for ()

Source§

type Output<'s> = ()

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet> LoadStore<T> for Box<str>

Source§

type Output<'s> = Box<str>

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet> LoadStore<T> for String

Source§

type Output<'s> = String

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<Float = Self>> LoadStore<T> for f32

Source§

type Output<'s> = f32

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<Float = Self>> LoadStore<T> for f64

Source§

type Output<'s> = f64

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<Integer = Self>> LoadStore<T> for u32

Source§

type Output<'s> = u32

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<Integer = Self>> LoadStore<T> for u64

Source§

type Output<'s> = u64

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<Integer = Self>> LoadStore<T> for u128

Source§

type Output<'s> = u128

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<SignedInteger = Self>> LoadStore<T> for i32

Source§

type Output<'s> = i32

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<SignedInteger = Self>> LoadStore<T> for i64

Source§

type Output<'s> = i64

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Source§

impl<T: TypeSet<SignedInteger = Self>> LoadStore<T> for i128

Source§

type Output<'s> = i128

Source§

fn load(ctx: &T, typed: &TypedValue<T>) -> Option<Self>

Source§

fn store(&self, _ctx: &mut T) -> TypedValue<T>

Implementors§