3 releases

0.1.2 Feb 12, 2017
0.1.1 Feb 12, 2017
0.1.0 Feb 12, 2017

#11 in #immutable

26 downloads per month

MIT license

71KB
2K SLoC

rust-immutable-seq

Contents

API Docs

About

immutable-seq-rust is a library providing an immutable sequence data structure for the Rust programming language.

The Seq implements an API similar to Vec, with the added advantage that previous versions of the data structure remain available and unchanged.

Usage

  • Add the dependency immutable-seq to your Cargo.toml

    [dependencies]
    immutable-seq = "0.1.0"
    
  • Include the crate immutable-seq in your code

    #[macro_use]
    extern crate immutable_seq;
    
    use immutable_seq::Seq;
    

    (#[macro_use] is only required to enable the seq! macro, shown below.)

Examples

  • Create a sequence with some values

    let seq1: Seq<i32> = seq![1, 2, 3];
    
  • Add an element to the beginninng. Note: this creates a new sequence, with the element added, but does not change the original sequence.

    let seq2 = seq1.push_front(0);
    assert_eq!(seq1, seq![1, 2, 3]);
    assert_eq!(seq2, seq![0, 1, 2, 3]);
    

Dependencies

~475KB