pub trait ValueProvider<'a, V>: Send + Sync {
    type ValueRef: Deref<Target = V>;
    type ValueMut: DerefMut<Target = V>;

    // Required methods
    fn get_value(&'a self, query: Query) -> Result<Self::ValueRef, GraphError>;
    fn mut_value(
        &'a mut self,
        query: Query
    ) -> Result<Self::ValueMut, GraphError>;

    // Provided method
    fn set_value(&'a mut self, query: Query, value: V) -> Result<V, GraphError> { ... }
}
Expand description

Arguments

  • index:
  • data:

returns: Result<<Self::Provider as ValueProvider>::ValueRef, GraphError>

Examples

use graph_types::{EntryEngine, GraphEngine, ListStorage};

Required Associated Types§

source

type ValueRef: Deref<Target = V>

Arguments
  • index:
  • data:

returns: Result<<Self::Provider as ValueProvider>::ValueRef, GraphError>

Examples
use graph_types::{EntryEngine, GraphEngine, ListStorage};
source

type ValueMut: DerefMut<Target = V>

Arguments
  • index:
  • data:

returns: Result<<Self::Provider as ValueProvider>::ValueRef, GraphError>

Examples
use graph_types::{EntryEngine, GraphEngine, ListStorage};

Required Methods§

source

fn get_value(&'a self, query: Query) -> Result<Self::ValueRef, GraphError>

Arguments
  • index:
  • data:

returns: Result<<Self::Provider as ValueProvider>::ValueRef, GraphError>

Examples
use graph_types::{EntryEngine, GraphEngine, ListStorage};
source

fn mut_value(&'a mut self, query: Query) -> Result<Self::ValueMut, GraphError>

Arguments
  • index:
  • data:

returns: Result<<Self::Provider as ValueProvider>::ValueRef, GraphError>

Examples
use graph_types::{EntryEngine, GraphEngine, ListStorage};

Provided Methods§

source

fn set_value(&'a mut self, query: Query, value: V) -> Result<V, GraphError>

Arguments
  • index:
  • data:

returns: Result<<Self::Provider as ValueProvider>::ValueRef, GraphError>

Examples
use graph_types::{EntryEngine, GraphEngine, ListStorage};

Implementors§