Trait typed_graph::Downcast

source ·
pub trait Downcast<'b, NK, EK, T, S>
where NK: Key, EK: Key, T: 'b, S: SchemaExt<NK, EK>,
{ // Required method fn downcast<'a: 'b>(&'a self) -> SchemaResult<T, NK, EK, S>; }

Required Methods§

source

fn downcast<'a: 'b>(&'a self) -> SchemaResult<T, NK, EK, S>

Cast a node or edge into a more specific type

The call will fail if the requested type is not a suptype of the current one

Implementors§

source§

impl<'a, NK, EK, S, T, T1, T2> Downcast<'a, NK, EK, Either2<&'a T1, &'a T2>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3> Downcast<'a, NK, EK, Either3<&'a T1, &'a T2, &'a T3>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4> Downcast<'a, NK, EK, Either4<&'a T1, &'a T2, &'a T3, &'a T4>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4, T5> Downcast<'a, NK, EK, Either5<&'a T1, &'a T2, &'a T3, &'a T4, &'a T5>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S> + Downcast<'a, NK, EK, &'a T5, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed, T5: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4, T5, T6> Downcast<'a, NK, EK, Either6<&'a T1, &'a T2, &'a T3, &'a T4, &'a T5, &'a T6>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S> + Downcast<'a, NK, EK, &'a T5, S> + Downcast<'a, NK, EK, &'a T6, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed, T5: Typed, T6: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4, T5, T6, T7> Downcast<'a, NK, EK, Either7<&'a T1, &'a T2, &'a T3, &'a T4, &'a T5, &'a T6, &'a T7>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S> + Downcast<'a, NK, EK, &'a T5, S> + Downcast<'a, NK, EK, &'a T6, S> + Downcast<'a, NK, EK, &'a T7, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed, T5: Typed, T6: Typed, T7: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4, T5, T6, T7, T8> Downcast<'a, NK, EK, Either8<&'a T1, &'a T2, &'a T3, &'a T4, &'a T5, &'a T6, &'a T7, &'a T8>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S> + Downcast<'a, NK, EK, &'a T5, S> + Downcast<'a, NK, EK, &'a T6, S> + Downcast<'a, NK, EK, &'a T7, S> + Downcast<'a, NK, EK, &'a T8, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed, T5: Typed, T6: Typed, T7: Typed, T8: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4, T5, T6, T7, T8, T9> Downcast<'a, NK, EK, Either9<&'a T1, &'a T2, &'a T3, &'a T4, &'a T5, &'a T6, &'a T7, &'a T8, &'a T9>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S> + Downcast<'a, NK, EK, &'a T5, S> + Downcast<'a, NK, EK, &'a T6, S> + Downcast<'a, NK, EK, &'a T7, S> + Downcast<'a, NK, EK, &'a T8, S> + Downcast<'a, NK, EK, &'a T9, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed, T5: Typed, T6: Typed, T7: Typed, T8: Typed, T9: Typed,

source§

impl<'a, NK, EK, S, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Downcast<'a, NK, EK, Either10<&'a T1, &'a T2, &'a T3, &'a T4, &'a T5, &'a T6, &'a T7, &'a T8, &'a T9, &'a T10>, S> for T
where T: Typed + Downcast<'a, NK, EK, &'a T1, S> + Downcast<'a, NK, EK, &'a T2, S> + Downcast<'a, NK, EK, &'a T3, S> + Downcast<'a, NK, EK, &'a T4, S> + Downcast<'a, NK, EK, &'a T5, S> + Downcast<'a, NK, EK, &'a T6, S> + Downcast<'a, NK, EK, &'a T7, S> + Downcast<'a, NK, EK, &'a T8, S> + Downcast<'a, NK, EK, &'a T9, S> + Downcast<'a, NK, EK, &'a T10, S>, NK: Key, EK: Key, S: SchemaExt<NK, EK>, T1: Typed, T2: Typed, T3: Typed, T4: Typed, T5: Typed, T6: Typed, T7: Typed, T8: Typed, T9: Typed, T10: Typed,

source§

impl<'a, O1, O2, NK, EK, S, T> Downcast<'a, NK, EK, Either<&'a O1, &'a O2>, S> for T
where T: Downcast<'a, NK, EK, &'a O1, S> + Downcast<'a, NK, EK, &'a O2, S> + Typed, O1: Typed, O2: Typed, NK: Key, EK: Key, S: SchemaExt<NK, EK>,