[][src]Struct contrail::TrailBuilder

pub struct TrailBuilder { /* fields omitted */ }

A builder to create a Trail.

Examples

use contrail::{BacktrackableValue, TrailBuilder};

let mut builder = TrailBuilder::new();
let value = BacktrackableValue::new(&mut builder, 5);
let trail = builder.finish();

assert_eq!(value.get(&trail), 5);

Methods

impl TrailBuilder[src]

pub fn new() -> Self[src]

Creates a new empty TrailBuilder.

Examples

use contrail::TrailBuilder;

let mut builder = TrailBuilder::new();

pub fn finish(self) -> Trail[src]

Consumes the TrailBuilder to create a new Trail.

Once this method is called, any Value and Array that were created using the TrailBuilder are usable with the resulting Trail.

Examples

use contrail::{NonBacktrackableArray, NonBacktrackableValue, TrailBuilder};

let mut builder = TrailBuilder::new();
let value = NonBacktrackableValue::new(&mut builder, -123);
let array = NonBacktrackableArray::new(&mut builder, vec![1, 3, 5, 7]);
let trail = builder.finish();

assert_eq!(value.get(&trail), -123);
assert_eq!(array.get(&trail, 2), 5);

Trait Implementations

impl Default for TrailBuilder[src]

impl Debug for TrailBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.