Trait model_mapper::with::Wrapper

source ·
pub trait Wrapper<T> {
    type Wrapper<U>;

    // Required methods
    fn map_inner<Z: Fn(T) -> U, U>(self, f: Z) -> Self::Wrapper<U>;
    fn try_map_inner<Z: Fn(T) -> Result<U, E>, U, E>(
        self,
        f: Z,
    ) -> Result<Self::Wrapper<U>, E>;
}
Expand description

This type abstracts different kinds of wrappers like Option, Vec, etc.

Required Associated Types§

Required Methods§

source

fn map_inner<Z: Fn(T) -> U, U>(self, f: Z) -> Self::Wrapper<U>

source

fn try_map_inner<Z: Fn(T) -> Result<U, E>, U, E>( self, f: Z, ) -> Result<Self::Wrapper<U>, E>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> Wrapper<T> for Option<T>

source§

type Wrapper<U> = Option<U>

source§

fn map_inner<Z: Fn(T) -> U, U>(self, f: Z) -> Self::Wrapper<U>

source§

fn try_map_inner<Z: Fn(T) -> Result<U, E>, U, E>( self, f: Z, ) -> Result<Self::Wrapper<U>, E>

source§

impl<T> Wrapper<T> for Vec<T>

source§

type Wrapper<U> = Vec<U>

source§

fn map_inner<Z: Fn(T) -> U, U>(self, f: Z) -> Self::Wrapper<U>

source§

fn try_map_inner<Z: Fn(T) -> Result<U, E>, U, E>( self, f: Z, ) -> Result<Self::Wrapper<U>, E>

source§

impl<T, K: Eq + Hash> Wrapper<T> for HashMap<K, T>

source§

type Wrapper<U> = HashMap<K, U>

source§

fn map_inner<Z: Fn(T) -> U, U>(self, f: Z) -> Self::Wrapper<U>

source§

fn try_map_inner<Z: Fn(T) -> Result<U, E>, U, E>( self, f: Z, ) -> Result<Self::Wrapper<U>, E>

Implementors§