Struct cretonne_codegen::bforest::SetCursor[][src]

pub struct SetCursor<'a, K, C> where
    K: 'a + Copy,
    C: 'a + Comparator<K>, 
{ /* fields omitted */ }

A position in a Set used to navigate and modify the ordered set.

A cursor always points at an element in the set, or "off the end" which is a position after the last element in the set.

Methods

impl<'a, K, C> SetCursor<'a, K, C> where
    K: Copy,
    C: Comparator<K>, 
[src]

Is this cursor pointing to an empty set?

Move cursor to the next element and return it.

If the cursor reaches the end, return None and leave the cursor at the off-the-end position.

Move cursor to the previous element and return it.

If the cursor is already pointing at the first element, leave it there and return None.

Get the current element, or None if the cursor is at the end.

Move this cursor to elem.

If elem is in the set, place the cursor at elem and return true.

If elem is not in the set, place the cursor at the next larger element (or the end) and return false.

Move this cursor to the first element.

Try to insert elem into the set and leave the cursor at the inserted element.

If the set did not contain elem, insert it and return true.

If elem is already present, don't change the set, place the cursor at goto(elem), and return false.

Remove the current element (if any) and return it. This advances the cursor to the next element after the removed one.

Auto Trait Implementations

impl<'a, K, C> Send for SetCursor<'a, K, C> where
    C: Send + Sync,
    K: Send

impl<'a, K, C> Sync for SetCursor<'a, K, C> where
    C: Sync,
    K: Sync