Trait flow_arena::FlowDevote[][src]

pub trait FlowDevote: FlowBase + FlowLink + FlowCheck {
    fn devote(
        &mut self,
        obj: &Self::Id,
        owner: &Self::Id,
        nth: usize
    ) -> Result<(), FlowError> { ... }
fn devote_push(
        &mut self,
        obj: &Self::Id,
        owner: &Self::Id
    ) -> Result<(), FlowError> { ... }
fn decay(&mut self, obj: &Self::Id) -> Result<(), FlowError> { ... }
fn devote_loyal(
        &mut self,
        obj: &Self::Id,
        owner: &Self::Id,
        nth: usize
    ) -> Result<(), FlowError> { ... }
fn devote_loyal_push(
        &mut self,
        obj: &Self::Id,
        owner: &Self::Id
    ) -> Result<(), FlowError> { ... } }

provides ability to devote / own nodes; tree-ish

Provided methods

fn devote(
    &mut self,
    obj: &Self::Id,
    owner: &Self::Id,
    nth: usize
) -> Result<(), FlowError>
[src]

appoints and ensures an owner; also links to owner; won’t do anything if aleady has the node as child

fn devote_push(
    &mut self,
    obj: &Self::Id,
    owner: &Self::Id
) -> Result<(), FlowError>
[src]

fn decay(&mut self, obj: &Self::Id) -> Result<(), FlowError>[src]

removes ownership; also detaches

fn devote_loyal(
    &mut self,
    obj: &Self::Id,
    owner: &Self::Id,
    nth: usize
) -> Result<(), FlowError>
[src]

decay before devote

fn devote_loyal_push(
    &mut self,
    obj: &Self::Id,
    owner: &Self::Id
) -> Result<(), FlowError>
[src]

decay before devote

Loading content...

Implementors

impl<Id, FlowNode> FlowDevote for FlowArena<Id, FlowNode> where
    Id: Clone + Hash + Eq + Default + Debug,
    FlowNode: Node<Id> + Default + Debug + Clone
[src]

Loading content...