btrees

BTree implementation with few features, but good enough for the Nim compiler's needs.

Types

BTree[Key; Val] = object
  root: Node[Key, Val]
  entries: int               ## number of key-value pairs
Source Edit

Procs

proc initBTree[Key, Val](): BTree[Key, Val]
Source Edit
proc getOrDefault[Key, Val](b: BTree[Key, Val]; key: Key): Val
Source Edit
proc contains[Key, Val](b: BTree[Key, Val]; key: Key): bool
Source Edit
proc add[Key, Val](b: var BTree[Key, Val]; key: Key; val: Val)
Source Edit
proc hasNext[Key, Val](b: BTree[Key, Val]; index: int): bool
Source Edit
proc next[Key, Val](b: BTree[Key, Val]; index: int): (Key, Val, int)
Source Edit
proc len[Key, Val](b: BTree[Key, Val]): int {...}{.inline.}
Source Edit

Iterators

iterator pairs[Key, Val](b: BTree[Key, Val]): (Key, Val)
Source Edit

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/compiler/btrees.html