pub struct Json<T> { /* private fields */ }Implementations§
Trait Implementations§
impl<T: Eq> Eq for Json<T>
Source§impl InlineOutput for Json<()>
impl InlineOutput for Json<()>
Source§impl<T> ListHashes for Json<T>
impl<T> ListHashes for Json<T>
Source§fn list_hashes(&self, f: &mut (impl FnMut(Hash) + ?Sized))
fn list_hashes(&self, f: &mut (impl FnMut(Hash) + ?Sized))
[
Hash]-only part of Topological::traverse.Source§fn topology_hash(&self) -> Hash
fn topology_hash(&self) -> Hash
[
Hash] of all [Hash]es the object refers to other objects by.Source§fn point_count(&self) -> usize
fn point_count(&self) -> usize
How many others this object refers to.
Source§impl MaybeHasNiche for Json<()>
impl MaybeHasNiche for Json<()>
Source§impl<T: DeserializeOwned + Serialize, I: ParseInput> Parse<I> for Json<T>
impl<T: DeserializeOwned + Serialize, I: ParseInput> Parse<I> for Json<T>
impl<T: PartialEq> StructuralPartialEq for Json<T>
Source§impl<T> ToOutput for Json<T>
impl<T> ToOutput for Json<T>
Source§fn to_output(&self, output: &mut (impl ?Sized + Output))
fn to_output(&self, output: &mut (impl ?Sized + Output))
Provide object’s byte representation to an
Output.Source§fn mangle_hash(&self) -> Hash
fn mangle_hash(&self) -> Hash
“Mangle hash” of the object. This is used to introduce runtime distinction between
data-identical objects similarly to compile-time
Tagged::HASH.Source§impl<T> Topological for Json<T>
impl<T> Topological for Json<T>
Source§fn traverse(&self, visitor: &mut (impl PointVisitor + ?Sized))
fn traverse(&self, visitor: &mut (impl PointVisitor + ?Sized))
List what objects this one refers to. Read more
Source§fn topology(&self) -> Vec<Arc<dyn Singular>>
fn topology(&self) -> Vec<Arc<dyn Singular>>
Collect references into a dynamically-typed list.
Source§fn byte_node(&self) -> (Vec<u8>, Arc<dyn Resolve>)where
Self: ToOutput,
fn byte_node(&self) -> (Vec<u8>, Arc<dyn Resolve>)where
Self: ToOutput,
Useful in
Resolve::resolve and FetchBytes::fetch_bytes.Source§fn to_resolve(&self) -> Arc<dyn Resolve> ⓘ
fn to_resolve(&self) -> Arc<dyn Resolve> ⓘ
Reconstruct a
Resolve usable for Parse::parseing this object based on references.Source§impl<T: Serialize + Default> TryDefault for Json<T>
impl<T: Serialize + Default> TryDefault for Json<T>
fn try_default() -> Result<Self>
Auto Trait Implementations§
impl<T> Freeze for Json<T>
impl<T> RefUnwindSafe for Json<T>where
Arc<JsonInner<T>>: RefUnwindSafe,
impl<T> Send for Json<T>
impl<T> Sync for Json<T>
impl<T> Unpin for Json<T>
impl<T> UnsafeUnpin for Json<T>where
Arc<JsonInner<T>>: UnsafeUnpin,
impl<T> UnwindSafe for Json<T>where
Arc<JsonInner<T>>: UnwindSafe,
Blanket Implementations§
Source§impl<T> AsAny for T
impl<T> AsAny for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Component for T
Source§impl<T, U> EquivalentFor<U> for Twhere
U: Equivalent<T>,
impl<T, U> EquivalentFor<U> for Twhere
U: Equivalent<T>,
fn equivalent_for(self) -> U
Source§impl<T, E> ExtraNoneOutput<E> for Twhere
T: OptionOutput,
impl<T, E> ExtraNoneOutput<E> for Twhere
T: OptionOutput,
fn extra_some_output(&self, output: &mut (impl Output + ?Sized))
fn extra_none_output(_: &E, output: &mut (impl Output + ?Sized))
fn extra_option_output( option: &ExtraOption<T, E>, output: &mut (impl Output + ?Sized), )
Source§impl<T> IntoPoint for Twhere
T: Traversible,
impl<T> IntoPoint for Twhere
T: Traversible,
impl<T, Extra> Object<Extra> for T
Source§impl<T> OptionOutput for Twhere
T: ToOutput + TaggedOption,
impl<T> OptionOutput for Twhere
T: ToOutput + TaggedOption,
Source§fn to_option_output(option: Option<&T>, output: &mut (impl Output + ?Sized))
fn to_option_output(option: Option<&T>, output: &mut (impl Output + ?Sized))
Provide
ToOutput::to_output for Option<Self>.Source§impl<T, B, I> OptionParse<I> for Twhere
T: Parse<I> + MaybeHasNiche,
<T as MaybeHasNiche>::MnArray: MnArray,
<<T as MaybeHasNiche>::MnArray as MnArray>::MaybeNiche: Niche<NeedsTag = B>,
B: OptionParseBit<T, I>,
I: ParseInput,
impl<T, B, I> OptionParse<I> for Twhere
T: Parse<I> + MaybeHasNiche,
<T as MaybeHasNiche>::MnArray: MnArray,
<<T as MaybeHasNiche>::MnArray as MnArray>::MaybeNiche: Niche<NeedsTag = B>,
B: OptionParseBit<T, I>,
I: ParseInput,
Source§fn parse_option(input: I) -> Result<Option<T>, Error>
fn parse_option(input: I) -> Result<Option<T>, Error>
Provide
Parse::parse for Option<Self>.