Skip to content

canscale/StableRBTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StableRBTree

Stable Red Black Trees in Motoko.

Motivation

Inspiration taken from this back and forth in the Dfinity developer forums.

API Documentation

API documentation for this library can be found at https://canscale.github.io/StableRBTree

StableRBTree

This module is a direct deconstruction of the object oriented [RBTree.mo class in motoko-base] (https://github.com/dfinity/motoko-base/blob/master/src/RBTree.mo) into a series of functions and is meant to be persistent across updates, with the tradeoff being larger function signatures.

Usage

Install vessel and ensure this is included in your package-set.dhall and vessel.dhall

import RBT "mo:stableRBT/StableRBTree";
...

// immutable updates
let t = RBT.init<Text, Nat>();
let nt = RBT.put(t, Text.compare, "John", 52);

// or mutable updates
var t = RBT.init<Text, Nat>();
t := RBT.put(t, Text.compare, "John", 52); 

License

StableRBTree is distributed under the terms of the Apache License (Version 2.0).

See LICENSE for details.

About

Stable Red Black Trees in Motoko

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages