Struct OptionVarULE

struct OptionVarULE<U: VarULE + ?Sized>(_, _, _)

A type allowing one to represent Option<U> for VarULE U types.

use zerovec::ule::OptionVarULE;
use zerovec::VarZeroVec;

let mut zv: VarZeroVec<OptionVarULE<str>> = VarZeroVec::new();

zv.make_mut().push(&None::<&str>);
zv.make_mut().push(&Some("hello"));
zv.make_mut().push(&Some("world"));
zv.make_mut().push(&None::<&str>);

assert_eq!(zv.get(0).unwrap().as_ref(), None);
assert_eq!(zv.get(1).unwrap().as_ref(), Some("hello"));

Implementations

impl<U: VarULE + ?Sized> OptionVarULE<U>

fn as_ref(self: &Self) -> Option<&U>

Obtain this as an Option<&U>

impl<'a, T> ZeroMapKV for OptionVarULE<T>

impl<T> Any for OptionVarULE<U>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for OptionVarULE<U>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for OptionVarULE<U>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> EncodeAsVarULE for OptionVarULE<U>

fn encode_var_ule_as_slices<R>(self: &Self, cb: impl FnOnce(&[&[u8]]) -> R) -> R

impl<U> Freeze for OptionVarULE<U>

impl<U> RefUnwindSafe for OptionVarULE<U>

impl<U> Send for OptionVarULE<U>

impl<U> Sized for OptionVarULE<U>

impl<U> Sync for OptionVarULE<U>

impl<U> Unpin for OptionVarULE<U>

impl<U> UnsafeUnpin for OptionVarULE<U>

impl<U> UnwindSafe for OptionVarULE<U>

impl<U: VarULE + ?Sized + Eq> Eq for OptionVarULE<U>

impl<U: VarULE + ?Sized + Ord> Ord for OptionVarULE<U>

fn cmp(self: &Self, other: &Self) -> Ordering

impl<U: VarULE + ?Sized + PartialEq> PartialEq for OptionVarULE<U>

fn eq(self: &Self, other: &Self) -> bool

impl<U: VarULE + ?Sized + PartialOrd> PartialOrd for OptionVarULE<U>

fn partial_cmp(self: &Self, other: &Self) -> Option<Ordering>

impl<U: VarULE + ?Sized + core::fmt::Debug> Debug for OptionVarULE<U>

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl<U: VarULE + ?Sized> VarULE for OptionVarULE<U>

fn validate_bytes(slice: &[u8]) -> Result<(), UleError>
unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self