pub enum OneOrTag<K: Kind> {
One(Id<K>),
Tag(TagId<K>),
}Expand description
Content of kind K or a tag of it — a recipe ingredient.
Variants§
Trait Implementations§
Source§impl<K: Kind> Schema for OneOrTag<K>
impl<K: Kind> Schema for OneOrTag<K>
Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Self>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Self>
Reads
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
The value of a field that isn’t there —
None: the field is required.Source§fn encode(&self, w: &mut Writer)
fn encode(&self, w: &mut Writer)
Writes itself in the binary form, straight —
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(d: &mut Decoder<'_>) -> Option<Self>
fn decode(d: &mut Decoder<'_>) -> Option<Self>
Reads itself from the binary form, straight;
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, p: &mut Packer)
fn pack(&self, p: &mut Packer)
Packs itself into a frame (
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(u: &mut Unpacker<'_>) -> Option<Self>
fn unpack(u: &mut Unpacker<'_>) -> Option<Self>
Reads itself out of a frame;
None if the bytes aren’t what
Schema::pack writes.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
A list of these packed: a count, then each one (floats raw).
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
A list of these written straight (numbers pack theirs).
impl<K: PartialEq + Kind> StructuralPartialEq for OneOrTag<K>
Auto Trait Implementations§
impl<K> Freeze for OneOrTag<K>
impl<K> RefUnwindSafe for OneOrTag<K>
impl<K> Send for OneOrTag<K>
impl<K> Sync for OneOrTag<K>
impl<K> Unpin for OneOrTag<K>
impl<K> UnsafeUnpin for OneOrTag<K>
impl<K> UnwindSafe for OneOrTag<K>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more