about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-04-22 17:54:30 -0700
committerbors <bors@rust-lang.org>2016-04-22 17:54:30 -0700
commit66ff163081685aa48bc59033eb5280052963a750 (patch)
tree78384c49fd9e157f4867d440773415f33923d18d /src/libsyntax
parentaf000a7bbffcaf5e75ff97b245fa5a413062acc1 (diff)
parent241a3e4689d3004daf9e1d36cec2235cbd301fbf (diff)
downloadrust-66ff163081685aa48bc59033eb5280052963a750.tar.gz
rust-66ff163081685aa48bc59033eb5280052963a750.zip
Auto merge of #32466 - jooert:btree_append, r=apasel422
Implement `append` for b-trees.

I have finally found time to revive #26227, this time only with an `append` implementation.

The algorithm implemented here is linear in the size of the two b-trees. It firsts creates
a `MergeIter` from the two b-trees and then builds a new b-tree by pushing
key-value pairs from the `MergeIter` into nodes at the right heights.

Three functions for stealing have been added to the implementation of `Handle` as
well as a getter for the height of a `NodeRef`.

The docs have been updated with performance information about `BTreeMap::append` and
the remark about B has been removed now that it is the same for all instances of `BTreeMap`.

cc @gereeter @Gankro @apasel422
Diffstat (limited to 'src/libsyntax')
0 files changed, 0 insertions, 0 deletions