66 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
dbeef92226 Remove outdated comment 2021-07-30 17:43:25 +02:00
Dario Nieuwenhuis
40808ec22f Add Deque. 2021-07-30 17:43:25 +02:00
Emil Fresk
295e115542 Preparing v0.7.2 2021-06-30 17:12:36 +02:00
Joshua Salzedo
f4617ea76c
attempt at reimplementing on a clean history 2021-05-17 12:51:03 -07:00
Emil Fresk
1444990e52 Cleanup and HistoryBuffer is now const and using MaybeUninit 2021-04-01 19:14:40 +02:00
Emil Fresk
6dcedb89f3 Fixes for min const generics 2021-03-25 16:51:38 +01:00
Per Lindgren
f962e3a45f Initial conversion to const generics
vec passes tests

vec passes tests with docs as well (besides one with FromIter)

vec passes tests with docs as well (besides one with FromIter)

exposing full API

passing all current tests

starting with string

string test passes mostly

string test passes

ufmt passes

TODO removed

binary_heap wip

binary_heap passes tests

sealed passes

spsc wip

spsc wip2

split wip3

spcs and split passes --lib tests

spcs and split passes --lib tests

spcs and split passes --lib tests

spcs and split passes all tests (doc + lib)

indexmap wip

indexmap passes --lib test

indexmap passes all tests (lib + doc)

indexset passes all tests (lib + doc)

indexset passes all tests (lib + doc)

linear map wip

linear map all test (lib + doc) passes, drop not tested, into_iter(mut self) not implemented

history buffer all test pass (doc + lib), Copy instead of clone atm

serde does not work

pool works, serde still not

serde wip

serde wip

serde wip

serde wip
2021-03-25 16:31:58 +01:00
Willem
1790c4f30f indexmap: expose PowerOfTwo, Bucket and Pos
This change allows the create custom structs with size arguments outside
the heapless crate itself.
2021-03-25 16:30:45 +01:00
Jorge Aparicio
596a1f03f1 fix warnings 2021-03-25 16:30:45 +01:00
Jorge Aparicio
e4580da8a8 x86_64: "practically" thread-safe Pool 2021-03-25 16:30:45 +01:00
Danilo Bargen
92d1a399e8 Add optional ufmt impls 2020-05-03 13:29:59 +02:00
Georg Brandl
1028563155 add the HistoryBuffer type 2020-01-07 08:14:52 +01:00
Jorge Aparicio
cb8179a30e run cargo fmt 2019-12-18 12:41:17 +01:00
Jorge Aparicio
44c66a7484 remove spsc / pool / mpmc modules on targets w/o atomic / CAS support
closes #123
2019-12-18 12:01:53 +01:00
James Munns
d5789b73ad Merge remote-tracking branch 'origin/master' into manual-cas-disable 2019-12-17 17:05:03 +01:00
James Munns
cbc1c5d781 Change feature gating 2019-12-17 17:01:09 +01:00
James Munns
410bc9c77e Invert feature flag logic 2019-12-17 15:00:51 +01:00
Jorge Aparicio
2416323c40 remove stray mod cfail 2019-12-17 14:35:03 +01:00
James Munns
620ee9a510 Allow for manual opt-out of CAS features 2019-10-02 17:09:05 +02:00
Jorge Aparicio
cda0c20b16 v0.5.0
closes #105
2019-07-12 01:20:18 +02:00
Jorge Aparicio
94db64d8a6 add multiple-producer multiple-consumer lock-free queue 2019-05-22 18:58:58 +02:00
Jorge Aparicio
e609aed1dd pre-release 2019-05-21 13:46:11 +02:00
Jorge Aparicio
fd1f701120 drop the maybe_uninit feature gate 2019-05-21 12:43:19 +02:00
Jorge Aparicio
fc4054571f drop const-fn feature; provide const constructors on near stable (1.36) 2019-05-06 17:13:15 +02:00
Jorge Aparicio
4932eb27df use core::mem::MaybeUninit; drop min-const-fn and smaller-atomics features 2019-05-03 14:00:28 +02:00
Jorge Aparicio
ef399ab44f add lock-free, interrupt-safe memory pool
this adds the stable subset of the `lifo::Pool` [1] API

[1]: https://github.com/japaric/lifo
2019-04-22 20:49:34 +02:00
Jorge Aparicio
1cfc847892 document and guarantee MSRV 2019-02-12 19:40:51 +01:00
Artem Vorotnikov
d551759884
Serde support 2019-02-06 18:41:54 +03:00
Jorge Aparicio
82fded5155 remove no longer needded integer_atomics feature 2019-02-04 19:23:47 +01:00
Georg Brandl
69379fbccc
Fix remaining RingBuffer reference 2018-10-31 16:06:01 +01:00
Jorge Aparicio
b47d8d8a5d drop no longer required feature gate 2018-10-19 19:49:20 +02:00
Jorge Aparicio
64a76132da use integer_atomics feature instead of core_intrinsics 2018-10-19 19:48:07 +02:00
Jorge Aparicio
f83329cbf4 rename RingBuffer to spsc::Queue 2018-10-19 19:28:57 +02:00
Jorge Aparicio
991e4146e1 remove Uxx from the public interface 2018-10-19 14:13:10 +02:00
Jorge Aparicio
63ae080138 move more feature gates behind a Cargo feature 2018-07-13 19:01:48 -05:00
Jorge Aparicio
ddc6842342 RingBuffer: put smaller atomic indices behind a Cargo feature
this let us drop the core_intrinsics feature gate
2018-07-13 18:51:06 -05:00
Felix Stegmaier
40133fea0f Merge remote-tracking branch 'origin/master' into const-fn-feature 2018-07-13 11:25:56 +02:00
Jorge Aparicio
e3c9f23e94 drop the nonzero feature gate 2018-07-13 00:29:08 -05:00
Felix Stegmaier
e48b15474d Update docs and tests 2018-05-21 13:18:28 +02:00
Felix Stegmaier
479c74d9e5 Fix static variables in tests 2018-05-19 18:32:47 +02:00
Felix Stegmaier
512ce719ed Fix missing_docs in const_fn macro 2018-05-19 12:25:30 +02:00
Felix
23b301362b WIP const_fn macro 2018-05-19 01:23:10 +02:00
Jorge Aparicio
ffc7849f27 avoid using NLL 2018-05-03 03:35:46 +02:00
Jorge Aparicio
22ef801d6a cargo fmt 2018-04-28 05:49:05 +02:00
Jorge Aparicio
66585909ef re-export generic_array::ArrayLength 2018-04-27 04:53:05 +02:00
Jorge Aparicio
f58f7abfed port IndexMap and IndexSet 2018-04-23 19:40:36 +02:00
Jorge Aparicio
c1892739f7 drop untagged-option dependency, and depend on generic-array 2018-04-22 00:41:13 +02:00
bors[bot]
a8d404fbe8 Merge #26
26: Ringbuffer iterators macro r=japaric a=XOSplicer

Resolves #6 

Refactor the ring_buffer::{Iter,IterMut} implementations to use a macro, so there is less duplicate code.
Inspired by the[ slice iterator macro in lib core](https://github.com/rust-lang/rust/blob/master/src/libcore/slice/mod.rs).

I have never worked with macros to generate const / mut implementations.
So this might be a little rough.

`#![allow(stable_features)]` is needed for current rust nightly, since otherwise `conservative_impl_trait` would throw a warning. Removing the feature flag would not be backwards compatible with earlier nightly versions.

Co-authored-by: Felix <stegmaier.felix@gmail.com>
2018-04-19 19:46:33 +00:00
Jorge Aparicio
ad13b81a21 implement BinaryHeap 2018-04-18 02:47:18 +02:00
Jorge Aparicio
9fc5f71799 elide bounds check in Vec.deref{,_mut} 2018-04-13 16:21:21 +02:00