pub enum OneOrTag<K: Kind<Id = String>> {
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<Id = String>> Schema for OneOrTag<K>
impl<K: Kind<Id = String>> 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 write_text(&self, w: &mut Writer)
fn write_text(&self, w: &mut Writer)
Writes itself as text, straight (
crate::text::Writer) —
Schema::write’s value as text, unless the type knows better
(derived ones do): no value tree is built on the way.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<Id = String>> 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