[][src]Crate backtracking_iterator

Modules

concurrent

Macros

sliceable_indexing

A generic Index representation would conflict with one provided by Rust, and the given function is unimplementable for trait objects, so this macro provides an easy way to produce an Index impl that just calls slice() as expected.

Structs

BacktrackingRecorder

A wrapper around an existing iterator to give it a historical representation with the ability to then produce copying and referencing backtracking iterators on the history

CopyingBacktrackingIterator

An iterator over a historical record which produces memory clones of historical elements

CopyingWalkback

A backwalk through a CopyingBacktrackingIterator's history. Yields items in the history, and can be used to walk back to a desired point.

ReferencingBacktrackingIterator

An iterator over a historical record which produces references to historical elements

ReferencingWalkback

A backwalk through a ReferencingBacktrackingIterator's history. Yields references to items in the history, and can be used to walk back to a desired point.

Traits

BacktrackingIterator

An iterator capable of backtracking behaviour This generifies the copying and non-copying versions and their behaviour

Record

A historical record representation

SliceableIterator

A backtracking iterator which represents history in a way that makes it possible to produce slices over ranges of RefPoints.

Walkback

An iterator which walks back over a history

Walkbackable

An iterator that can be walked back on, parameterised for a lifetime This trait is a workaround for the lack of generic associated types - it is expected to be implemented for every lifetime, for reasons of utility