Skip to main content

Extract

Trait Extract 

Source
pub trait Extract {
    type Target: Clone;

    // Required method
    fn extract_into(&self, buf: &mut Vec<Self::Target>);

    // Provided method
    fn extract(&self) -> Vec<Self::Target> { ... }
}
Expand description

Extract one or more target values from a reference.

Required Associated Types§

Source

type Target: Clone

Extraction target.

Required Methods§

Source

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Append extracted values to buf.

Provided Methods§

Source

fn extract(&self) -> Vec<Self::Target>

Extract into a newly allocated vector.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>, E9: Extract<Target = T>, E10: Extract<Target = T>, E11: Extract<Target = T>, E12: Extract<Target = T>, E13: Extract<Target = T>, E14: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>, E9: Extract<Target = T>, E10: Extract<Target = T>, E11: Extract<Target = T>, E12: Extract<Target = T>, E13: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>, E9: Extract<Target = T>, E10: Extract<Target = T>, E11: Extract<Target = T>, E12: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>, E9: Extract<Target = T>, E10: Extract<Target = T>, E11: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>, E9: Extract<Target = T>, E10: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>, E9: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>, E8: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7, E8)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>, E7: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6, E7)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>, E6: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5, E6)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>, E5: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4, E5)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>, E4: Extract<Target = T>> Extract for (E0, E1, E2, E3, E4)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>, E3: Extract<Target = T>> Extract for (E0, E1, E2, E3)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>, E2: Extract<Target = T>> Extract for (E0, E1, E2)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>, E1: Extract<Target = T>> Extract for (E0, E1)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Source§

impl<T: Clone, E0: Extract<Target = T>> Extract for (E0,)

Source§

type Target = T

Source§

fn extract_into(&self, buf: &mut Vec<Self::Target>)

Implementors§