Skip to main content

MaybePackable

Trait MaybePackable 

Source
pub trait MaybePackable<'a, T: Packable + ?Sized> {
    // Required methods
    fn maybe_packable(self) -> Option<Cow<'a, T>>;
    fn agg(&self) -> Agg;
}
Expand description

Adapter trait that lets both T and Option<T> (and &T, Option<&T>, etc.) be used as input values when writing to a ColumnData or Encoder.

This is what allows StrCursor to accept &str, String, Option<&str>, and Option<String> interchangeably, and UIntCursor to accept u64 or Option<u64>. A value that converts to None encodes a null entry.

Required Methods§

Source

fn maybe_packable(self) -> Option<Cow<'a, T>>

Source

fn agg(&self) -> Agg

Implementations on Foreign Types§

Source§

impl<'a> MaybePackable<'a, str> for Option<String>

Source§

fn maybe_packable(self) -> Option<Cow<'a, str>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a> MaybePackable<'a, str> for String

Source§

fn maybe_packable(self) -> Option<Cow<'a, str>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a> MaybePackable<'a, [u8]> for Option<Vec<u8>>

Source§

fn maybe_packable(self) -> Option<Cow<'a, [u8]>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a> MaybePackable<'a, [u8]> for Vec<u8>

Source§

fn maybe_packable(self) -> Option<Cow<'a, [u8]>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a, T: Packable + ?Sized> MaybePackable<'a, T> for Cow<'a, T>

Source§

fn maybe_packable(self) -> Option<Cow<'a, T>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a, T: Packable + ?Sized> MaybePackable<'a, T> for Option<Cow<'a, T>>

Source§

fn maybe_packable(self) -> Option<Cow<'a, T>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a, T: Packable + ?Sized> MaybePackable<'a, T> for Option<&'a T>

Source§

fn maybe_packable(self) -> Option<Cow<'a, T>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a, T: Packable + ?Sized> MaybePackable<'a, T> for &'a T

Source§

fn maybe_packable(self) -> Option<Cow<'a, T>>

Source§

fn agg(&self) -> Agg

Source§

impl<'a, T: Packable> MaybePackable<'a, T> for Option<T>

Source§

fn maybe_packable(self) -> Option<Cow<'a, T>>

Source§

fn agg(&self) -> Agg

Implementors§

Source§

impl<'a, T: Packable> MaybePackable<'a, T> for T