Commit Graph

8 Commits

Author SHA1 Message Date
Colin Sherratt
4019118ec2 Added population count assertion in reserve. Cleaned up wrap_index. 2014-11-14 03:41:08 -05:00
Colin Sherratt
5e549d8c3c Manually reset the ringbuffer before or after the ringbuffer push/pop tests. 2014-11-14 03:41:07 -05:00
Colin Sherratt
4cae9add8c Added some extra debug_asserts to ring_buf. 2014-11-14 03:41:07 -05:00
Colin Sherratt
ba24e33021 Handle allocate/reallocate errors in ring_buf
Use is_some() in clear to simplify the clear loop.
2014-11-14 03:41:07 -05:00
Colin Sherratt
7a666df5fa Expand the benchmarking and unit test suite for ring_buf.
-Adds unit tests for fn get() and fn get_mut() which are currently untested
-Adds unit tests to verify growth of the ringbuffer when reserve is called.
-Adds unit tests to confirm that dropping of items is correct
Move ringbuf to use a raw buffer instead of Option<T>
2014-11-14 03:41:07 -05:00
gamazeps
16c8cd931c Renamed Extendable to Extend
In order to upgrade, simply rename the Extendable trait to Extend in
your code

Part of #18424

[breaking-change]
2014-11-08 15:02:09 +01:00
Alexis Beingessner
cf3b2e4fe6 Implement low-hanging fruit of collection conventions
* Renames/deprecates the simplest and most obvious methods
* Adds FIXME(conventions)s for outstanding work
* Marks "handled" methods as unstable

NOTE: the semantics of reserve and reserve_exact have changed!
Other methods have had their semantics changed as well, but in a
way that should obviously not typecheck if used incorrectly.

Lots of work and breakage to come, but this handles most of the core
APIs and most eggregious breakage. Future changes should *mostly* focus on
niche collections, APIs, or simply back-compat additions.

[breaking-change]
2014-11-06 12:25:44 -05:00
Alexis Beingessner
112c8a966f refactor libcollections as part of collection reform
* Moves multi-collection files into their own directory, and splits them into seperate files
* Changes exports so that each collection has its own module
* Adds underscores to public modules and filenames to match standard naming conventions

(that is, treemap::{TreeMap, TreeSet} => tree_map::TreeMap, tree_set::TreeSet)

* Renames PriorityQueue to BinaryHeap
* Renames SmallIntMap to VecMap
* Miscellanious fallout fixes

[breaking-change]
2014-11-02 18:58:11 -05:00