pub trait NestedValue: Sized + Debug + Clone + Eq + Hash + Ord {
type Embedded: Embeddable;
Show 14 methods
fn wrap(anns: Annotations<Self>, v: Value<Self>) -> Self;
fn annotations(&self) -> &Annotations<Self>;
fn value(&self) -> &Value<Self>;
fn pieces(self) -> (Annotations<Self>, Value<Self>);
fn value_owned(self) -> Value<Self>;
fn new<V>(v: V) -> Self
where
Value<Self>: From<V>,
{ ... }
fn domain<E>(e: E) -> Self
where
Self::Embedded: From<E>,
{ ... }
fn symbol(n: &str) -> Self { ... }
fn bytestring<'a, V: Into<Cow<'a, [u8]>>>(v: V) -> Self { ... }
fn value_class(&self) -> ValueClass { ... }
fn debug_fmt(&self, f: &mut Formatter<'_>) -> Result { ... }
fn strip_annotations<M: NestedValue<Embedded = Self::Embedded>>(&self) -> M { ... }
fn copy_via<M: NestedValue, F, Err>(&self, f: &mut F) -> Result<M, Err>
where
F: FnMut(&Self::Embedded) -> Result<Value<M>, Err>,
{ ... }
fn foreach_embedded<F, Err>(&self, f: &mut F) -> Result<(), Err>
where
F: FnMut(&Self::Embedded) -> Result<(), Err>,
{ ... }
}