object-rainbow 0.0.0-a.61

distributed object model
Documentation
use crate::*;

impl<T: ?Sized + ToOutput> ToOutput for &T {
    fn to_output(&self, output: &mut impl Output) {
        (**self).to_output(output);
    }
}

impl<T: ?Sized + InlineOutput> InlineOutput for &T {}

impl<T: ?Sized + ListHashes> ListHashes for &T {
    fn list_hashes(&self, f: &mut impl FnMut(Hash)) {
        (**self).list_hashes(f);
    }

    fn topology_hash(&self) -> Hash {
        (**self).topology_hash()
    }

    fn point_count(&self) -> usize {
        (**self).point_count()
    }
}

impl<T: ?Sized + Tagged> Tagged for &T {
    const TAGS: Tags = T::TAGS;
    const HASH: Hash = T::HASH;
}

impl<T: ?Sized + Topological> Topological for &T {
    fn traverse(&self, visitor: &mut impl PointVisitor) {
        (**self).traverse(visitor);
    }
}