Trait libpijul::pristine::GraphMutTxnT[][src]

pub trait GraphMutTxnT: GraphTxnT {
    fn put_internal(
        &mut self,
        k: &SerializedHash,
        e: &ChangeId
    ) -> Result<bool, TxnErr<Self::GraphError>>;
fn del_internal(
        &mut self,
        k: &SerializedHash,
        e: Option<&ChangeId>
    ) -> Result<bool, TxnErr<Self::GraphError>>;
fn put_external(
        &mut self,
        k: &ChangeId,
        e: &SerializedHash
    ) -> Result<bool, TxnErr<Self::GraphError>>;
fn del_external(
        &mut self,
        k: &ChangeId,
        e: Option<&SerializedHash>
    ) -> Result<bool, TxnErr<Self::GraphError>>;
fn put_graph(
        &mut self,
        channel: &mut Self::Graph,
        k: &Vertex<ChangeId>,
        v: &SerializedEdge
    ) -> Result<bool, TxnErr<Self::GraphError>>;
fn del_graph(
        &mut self,
        channel: &mut Self::Graph,
        k: &Vertex<ChangeId>,
        v: Option<&SerializedEdge>
    ) -> Result<bool, TxnErr<Self::GraphError>>;
fn debug(&mut self, channel: &mut Self::Graph, extra: &str);
fn split_block(
        &mut self,
        graph: &mut Self::Graph,
        key: &Vertex<ChangeId>,
        pos: ChangePosition,
        buf: &mut Vec<SerializedEdge>
    ) -> Result<(), TxnErr<Self::GraphError>>; }

Required methods

Insert a key and a value to a graph. Returns false if and only if (k, v) was already in the graph, in which case no insertion happened.

Delete a key and a value from a graph. Returns true if and only if (k, v) was in the graph.

Split a key [a, b[ at position pos, yielding two keys [a, pos[ and [pos, b[ linked by an edge.

Implementors