tile38/vendor/github.com/tidwall/tinybtree
tidwall 076cd4b009 Updated btree deps 2021-07-08 06:35:01 -07:00
..
LICENSE Refactor repository and build scripts 2019-11-18 10:33:15 -07:00
README.md Refactor repository and build scripts 2019-11-18 10:33:15 -07:00
btree.go Updated btree deps 2021-07-08 06:35:01 -07:00

README.md

tinybtree

GoDoc

Just an itsy bitsy b-tree.

Usage

Keys are strings, values are interfaces.

Functions

Get(key string) (value interface{}, gotten bool)
Set(key string, value interface{}) (prev interface{}, replaced bool)
Delete(key string) (prev interface{}, deleted bool)
Scan(iter func(key string, value interface{}) bool)
Ascend(pivot string, iter func(key string, value interface{}) bool)
Descend(pivot string, iter func(key string, value interface{}) bool)

Example

// Create a btree
var tr tinybtree.BTree

// Set a key. Returns the previous value and ok a previous value exists.
prev, ok := tr.Set("hello", "world")

// Get a key. Returns the value and ok if the value exists.
value, ok := tr.Get("hello")

// Delete a key. Returns the deleted value and ok if the previous value exists.
prev, ok := tr.Delete("hello")

Contact

Josh Baker @tidwall

License

tinybtree source code is available under the MIT License.