aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* remove extra semicolonnextBrian Cully2022-10-121-1/+1
|
* Fix clippy lints.Brian Cully2019-09-091-3/+2
|
* Remove calls to mem::transumte.Brian Cully2019-09-091-41/+23
| | | | | | I was under the mistaken impression that mutable `AtomicUsize` was needed, when it's not. Simplify all code to use normal borrows instead of pointers with transmute.
* Remove `Sync` marker for Reader/Writer.v0.3.0Brian Cully2019-09-021-2/+1
| | | | | | | | These are not sync, as they can only be used from one thread at a time. Also add a `Send` trait for `RingBuffer`, as long as its element type is also `Send`.
* Finish documentation sentence for `unshift_from`.Brian Cully2019-08-141-1/+1
|
* Remove un-needed feature gate.Brian Cully2019-08-141-7/+6
| | | | This should work on stable now.
* Relax ordering and use fences where necessary.Brian Cully2019-08-141-15/+29
|
* Remove `Copy` requirement for most methods.Brian Cully2019-08-141-23/+54
| | | | | | | | | The ring buffer will now take and pass ownership as required, so the `Copy` trait constraint is no longer required. The one exception is `Writer::unshift_from`, where we're taking data we don't know how to replace from an arbitrary slice, so that needs to be `Copy`-able.
* API Change: Don't require default value for RingBuffer::new().Brian Cully2019-08-141-22/+31
| | | | | | | | Use mem::MaybeUninit as the backing store so initialization is no longer required in `new`. This is safe, because you can't read anything out of the ring buffer until you store something, which initializes the memory.
* Add Writer::unshift_from for batch copying data in.Brian Cully2019-08-131-0/+52
| | | | | This is just the inverse of Reader::shift and exists for the same reasons.
* Add Reader::shift_into function for batch copying.Brian Cully2019-08-131-3/+67
| | | | | | This function can be used if you need to quickly copy a bunch of things from the buffer, as it only does its safety checks once, rather than on every item extraction.
* Documentation.Brian Cully2019-08-131-0/+19
|
* Add iterator implementation.Brian Cully2019-08-131-4/+28
|
* Use get_unchecked for backing array access.Brian Cully2019-08-131-4/+8
| | | | | The index is guaranteed to be in bounds because it's always modulo the array capacity, so use the unchecked variants to get/set values.
* Initial commit.v0.1.0Brian Cully2019-08-041-0/+221