ElementIndex

Trait ElementIndex 

Source
pub trait ElementIndex: Send + Sync {
    // Required methods
    fn get_element<'life0, 'life1, 'async_trait>(
        &'life0 self,
        element_ref: &'life1 ElementReference,
    ) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Element>>, IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn set_element<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        element: &'life1 Element,
        slot_affinity: &'life2 Vec<usize>,
    ) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn delete_element<'life0, 'life1, 'async_trait>(
        &'life0 self,
        element_ref: &'life1 ElementReference,
    ) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_slot_element_by_ref<'life0, 'life1, 'async_trait>(
        &'life0 self,
        slot: usize,
        element_ref: &'life1 ElementReference,
    ) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Element>>, IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_slot_elements_by_inbound<'life0, 'life1, 'async_trait>(
        &'life0 self,
        slot: usize,
        inbound_ref: &'life1 ElementReference,
    ) -> Pin<Box<dyn Future<Output = Result<ElementStream, IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_slot_elements_by_outbound<'life0, 'life1, 'async_trait>(
        &'life0 self,
        slot: usize,
        outbound_ref: &'life1 ElementReference,
    ) -> Pin<Box<dyn Future<Output = Result<ElementStream, IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn clear<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn set_joins<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        match_path: &'life1 MatchPath,
        joins: &'life2 Vec<Arc<QueryJoin>>,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}

Required Methods§

Source

fn get_element<'life0, 'life1, 'async_trait>( &'life0 self, element_ref: &'life1 ElementReference, ) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Element>>, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn set_element<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, element: &'life1 Element, slot_affinity: &'life2 Vec<usize>, ) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn delete_element<'life0, 'life1, 'async_trait>( &'life0 self, element_ref: &'life1 ElementReference, ) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_slot_element_by_ref<'life0, 'life1, 'async_trait>( &'life0 self, slot: usize, element_ref: &'life1 ElementReference, ) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Element>>, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_slot_elements_by_inbound<'life0, 'life1, 'async_trait>( &'life0 self, slot: usize, inbound_ref: &'life1 ElementReference, ) -> Pin<Box<dyn Future<Output = Result<ElementStream, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_slot_elements_by_outbound<'life0, 'life1, 'async_trait>( &'life0 self, slot: usize, outbound_ref: &'life1 ElementReference, ) -> Pin<Box<dyn Future<Output = Result<ElementStream, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn clear<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn set_joins<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, match_path: &'life1 MatchPath, joins: &'life2 Vec<Arc<QueryJoin>>, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Implementors§