Trait Flatten

Source
pub trait Flatten<I, B> {
    // Required methods
    fn flatten_with<V, G>(
        self,
        vocabulary: &mut V,
        generator: G,
        ordered: bool,
    ) -> Result<Vec<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
       where G: Generator<V>,
             V: Vocabulary<Iri = I, BlankId = B>;
    fn flatten_unordered_with<V, G>(
        self,
        vocabulary: &mut V,
        generator: G,
    ) -> Result<HashSet<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
       where G: Generator<V>,
             V: Vocabulary<Iri = I, BlankId = B>;

    // Provided methods
    fn flatten<G>(
        self,
        generator: G,
        ordered: bool,
    ) -> Result<Vec<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
       where G: Generator,
             (): Vocabulary<Iri = I, BlankId = B>,
             Self: Sized { ... }
    fn flatten_unordered<G>(
        self,
        generator: G,
    ) -> Result<HashSet<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
       where G: Generator,
             (): Vocabulary<Iri = I, BlankId = B>,
             Self: Sized { ... }
}

Required Methods§

Source

fn flatten_with<V, G>( self, vocabulary: &mut V, generator: G, ordered: bool, ) -> Result<Vec<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
where G: Generator<V>, V: Vocabulary<Iri = I, BlankId = B>,

Source

fn flatten_unordered_with<V, G>( self, vocabulary: &mut V, generator: G, ) -> Result<HashSet<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
where G: Generator<V>, V: Vocabulary<Iri = I, BlankId = B>,

Provided Methods§

Source

fn flatten<G>( self, generator: G, ordered: bool, ) -> Result<Vec<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
where G: Generator, (): Vocabulary<Iri = I, BlankId = B>, Self: Sized,

Source

fn flatten_unordered<G>( self, generator: G, ) -> Result<HashSet<Indexed<Node<I, B>>>, ConflictingIndexes<I, B>>
where G: Generator, (): Vocabulary<Iri = I, BlankId = B>, Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<I, B> Flatten<I, B> for ExpandedDocument<I, B>
where I: Clone + Eq + Hash, B: Clone + Eq + Hash,