Skip to main content

Topological

Trait Topological 

Source
pub trait Topological: ListHashes {
    // Provided methods
    fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor)) { ... }
    fn topology(&self) -> TopoVec { ... }
    fn byte_node(&self) -> ByteNode
       where Self: ToOutput { ... }
    fn to_resolve(&self) -> Arc<dyn Resolve>  { ... }
}
Expand description

Central trait responsible for providing access to walking the object tree.

Provided Methods§

Source

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

List what objects this one refers to.

Each referred object is also expected to be Traversible.

Source

fn topology(&self) -> TopoVec

Collect references into a dynamically-typed list.

Source

fn byte_node(&self) -> ByteNode
where Self: ToOutput,

Source

fn to_resolve(&self) -> Arc<dyn Resolve>

Reconstruct a Resolve usable for Parse::parseing this object based on references.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Topological for ()

Source§

impl Topological for Bytes

Available on crate feature bytes only.
Source§

impl Topological for BytesMut

Available on crate feature bytes only.
Source§

impl Topological for CStr

Source§

impl Topological for CString

Source§

impl Topological for Infallible

Source§

impl Topological for NonZero<i8>

Source§

impl Topological for NonZero<i16>

Source§

impl Topological for NonZero<i32>

Source§

impl Topological for NonZero<i64>

Source§

impl Topological for NonZero<i128>

Source§

impl Topological for NonZero<u8>

Source§

impl Topological for NonZero<u16>

Source§

impl Topological for NonZero<u32>

Source§

impl Topological for NonZero<u64>

Source§

impl Topological for NonZero<u128>

Source§

impl Topological for Ordering

Source§

impl Topological for String

Source§

impl Topological for Ulid

Available on crate feature ulid only.
Source§

impl Topological for bool

Source§

impl Topological for char

Source§

impl Topological for f32

Source§

impl Topological for f64

Source§

impl Topological for i8

Source§

impl Topological for i16

Source§

impl Topological for i32

Source§

impl Topological for i64

Source§

impl Topological for i128

Source§

impl Topological for str

Source§

impl Topological for u8

Source§

impl Topological for u16

Source§

impl Topological for u32

Source§

impl Topological for u64

Source§

impl Topological for u128

Source§

impl<'a, B: 'a + ToOwned + Topological + ?Sized> Topological for Cow<'a, B>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

fn topology(&self) -> TopoVec

Source§

impl<A, O: BitOrder> Topological for BitArray<A, O>

Available on crate feature bitvec only.
Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological, G: Topological, H: Topological, I: Topological, J: Topological, K: Topological, L: Topological> Topological for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological, G: Topological, H: Topological, I: Topological, J: Topological, K: Topological> Topological for (A, B, C, D, E, F, G, H, I, J, K)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological, G: Topological, H: Topological, I: Topological, J: Topological> Topological for (A, B, C, D, E, F, G, H, I, J)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological, G: Topological, H: Topological, I: Topological> Topological for (A, B, C, D, E, F, G, H, I)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological, G: Topological, H: Topological> Topological for (A, B, C, D, E, F, G, H)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological, G: Topological> Topological for (A, B, C, D, E, F, G)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological, F: Topological> Topological for (A, B, C, D, E, F)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological, E: Topological> Topological for (A, B, C, D, E)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological, D: Topological> Topological for (A, B, C, D)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological, C: Topological> Topological for (A, B, C)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<A: Topological, B: Topological> Topological for (A, B)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<K: Topological, V: Topological> Topological for BTreeMap<K, V>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<K: Topological, V: Topological> Topological for IndexMap<K, V>

Available on crate feature indexmap only.
Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: ?Sized + Topological> Topological for &T

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: ?Sized + Topological> Topological for Arc<T>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

fn topology(&self) -> TopoVec

Source§

impl<T: ?Sized + Topological> Topological for Box<T>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

fn topology(&self) -> TopoVec

Source§

impl<T: ?Sized> Topological for PhantomData<T>

Source§

impl<T: Topological, N: ArrayLength> Topological for GenericArray<T, N>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological, const N: usize> Topological for [T; N]

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for (T,)

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for BTreeSet<T>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for IndexSet<T>

Available on crate feature indexmap only.
Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for Option<T>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for Vec<T>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for VecDeque<T>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Topological> Topological for [T]

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T: Traversible> Topological for Arc<dyn SingularFetch<T = T>>

Source§

fn traverse(&self, visitor: &mut (impl ?Sized + PointVisitor))

Source§

impl<T> Topological for dyn Send + Sync + ExtraFor<T>

Source§

impl<const S: usize> Topological for CidGeneric<S>

Available on crate feature cid only.

We can’t directly interpret this as our pointers, treating Cid as just data.

Implementors§

Source§

impl Topological for Be<NonZero<i8>>

Source§

impl Topological for Be<NonZero<i16>>

Source§

impl Topological for Be<NonZero<i32>>

Source§

impl Topological for Be<NonZero<i64>>

Source§

impl Topological for Be<NonZero<i128>>

Source§

impl Topological for Be<NonZero<u8>>

Source§

impl Topological for Be<NonZero<u16>>

Source§

impl Topological for Be<NonZero<u32>>

Source§

impl Topological for Be<NonZero<u64>>

Source§

impl Topological for Be<NonZero<u128>>

Source§

impl Topological for Be<f32>

Source§

impl Topological for Be<f64>

Source§

impl Topological for Be<i8>

Source§

impl Topological for Be<i16>

Source§

impl Topological for Be<i32>

Source§

impl Topological for Be<i64>

Source§

impl Topological for Be<i128>

Source§

impl Topological for Be<u8>

Source§

impl Topological for Be<u16>

Source§

impl Topological for Be<u32>

Source§

impl Topological for Be<u64>

Source§

impl Topological for Be<u128>

Source§

impl Topological for Ff

Source§

impl Topological for Hash

Source§

impl Topological for Le<NonZero<i8>>

Source§

impl Topological for Le<NonZero<i16>>

Source§

impl Topological for Le<NonZero<i32>>

Source§

impl Topological for Le<NonZero<i64>>

Source§

impl Topological for Le<NonZero<i128>>

Source§

impl Topological for Le<NonZero<u8>>

Source§

impl Topological for Le<NonZero<u16>>

Source§

impl Topological for Le<NonZero<u32>>

Source§

impl Topological for Le<NonZero<u64>>

Source§

impl Topological for Le<NonZero<u128>>

Source§

impl Topological for Le<f32>

Source§

impl Topological for Le<f64>

Source§

impl Topological for Le<i8>

Source§

impl Topological for Le<i16>

Source§

impl Topological for Le<i32>

Source§

impl Topological for Le<i64>

Source§

impl Topological for Le<i128>

Source§

impl Topological for Le<u8>

Source§

impl Topological for Le<u16>

Source§

impl Topological for Le<u32>

Source§

impl Topological for Le<u64>

Source§

impl Topological for Le<u128>

Source§

impl Topological for LpBytes

Source§

impl Topological for LpString

Source§

impl Topological for NicheCut

Source§

impl Topological for OptionalHash

Source§

impl Topological for U63

Source§

impl<A, B> Topological for DefaultChain<A, B>
where A: Topological, B: Topological,

Source§

impl<A, B> Topological for TupleOfArrays<A, B>
where A: Topological, B: Topological,

Source§

impl<Extra> Topological for Extras<Extra>

Source§

impl<Extra> Topological for InlineExtra<Extra>
where Extra: Topological,

Source§

impl<F> Topological for FetchExtra<F>
where F: Topological,

Source§

impl<K> Topological for PartialByteTag<K>

Source§

impl<M> Topological for SmExtra<M>

Source§

impl<T, A> Topological for Dt<T, A>
where for<'a> &'a T: IntoIterator<Item: Topological>,

Source§

impl<T, E> Topological for Ent<T, E>

Source§

impl<T, E> Topological for ExtraArray<T, E>

Source§

impl<T, E> Topological for ExtraOption<T, E>

Source§

impl<T, M> Topological for MappedExtra<T, M>
where M: Topological, T: Topological,

Source§

impl<T, const MAX: usize> Topological for EnumTag<T, MAX>
where T: Topological,

Source§

impl<T: ?Sized> Topological for ObjectMarker<T>
where PhantomData<fn() -> T>: Topological,

Source§

impl<T: Traversible, Extra: 'static + Send + Sync + Clone + ExtraFor<T>> Topological for Addressed<T, Extra>

Source§

impl<T> Topological for AssertRefless<T>

Source§

impl<T> Topological for Local<T>
where T: Topological,

Source§

impl<T> Topological for Lp<T>
where T: Topological,

Source§

impl<T> Topological for LpVec<T>
where Vec<T>: Topological,

Source§

impl<T> Topological for Nt<T>
where for<'a> &'a T: IntoIterator<Item: Topological>,

Source§

impl<T> Topological for NtString<T>

Source§

impl<T> Topological for ParseExtra<T>
where T: Topological,

Source§

impl<T> Topological for RuntimeArray<T>
where Vec<T>: Topological,

Source§

impl<T> Topological for Sequence<T>
where for<'a> &'a T: IntoIterator<Item: Topological>,

Source§

impl<T> Topological for WithRepr<T>
where T: Topological,

Source§

impl<T> Topological for Zt<T>