#append #logging #append-only #end #link #dynamic

nightly rclist

Rust library: RcList is read-only, append only list (log), that can share common tail (history) with other RcList-s

1 unstable release

Uses old Rust 2015

0.0.1 Feb 5, 2015

#28 in #append-only

7KB
149 lines

Build Status

rclist-rs

Introduction

RcList is read-only, append-only list (log), that can share common tail (history) with other RcList.

Example:

HEAD-Y-\
        1 -> 2 -> 3 -weak-> 4 -> 5
HEAD-X------/                   /
HEAD-Z--------------------------

Lists Y, X, Z are sharing history. Link between 3 and 4 is weak, which means after HEAD-Z is destroyed nodes 4 and 5 will be deallocated.

Read Documentation for details.

See issues for TODO and BUGs.

Building

cargo build

lib.rs:

RcList is read-only, append only list (log), that can share common tail (history) with other RcList.

This data structure supports:

  • read-only appending which creates new RcList consisting of: (head, rest), where head is a new element and rest can be potentially shared with other RcList-s
  • Strong and Weak links, allowing dynamic pruning,
  • Iteration from the beginning (newest elements) to end (oldest elements).

No runtime deps