Lokathor
c81bc9f0b1
Add the SliceVec type ( #68 )
...
* start of slicevec
* remove todo! because it's not in 1.36
* Update Cargo.toml
* slice vec into iterator
* slicevec drain
* complete last unimplemented
* remove the extra default feature
* spelling
* Update src/slicevec.rs
Co-Authored-By: Joshua Nelson <joshua@yottadb.com >
* docs clarification.
Co-authored-by: Joshua Nelson <joshua@yottadb.com >
2020-04-22 12:31:56 -06:00
Josh Stone
d04abff44c
impl IntoIterator for &/&mut ArrayVec ( #69 )
...
These just create slice iterators, but the impls are useful to have for
contexts that don't auto-deref, as in the new tests.
2020-03-31 13:36:39 -06:00
Evgeny Rozaliev
5ba37a6b3a
TinyVec::from([T]) ( #66 )
2020-03-17 14:15:39 -06:00
Lokathor
b94c08cd43
Update arrayvec.rs
2020-02-11 12:32:18 -07:00
Lokathor
695cc79635
Update arrayvec.rs
2020-02-11 12:15:19 -07:00
Lokathor
cc55f669c4
Improve Write impl efficiency
2020-02-10 20:14:20 -07:00
Lokathor
574126f56b
oops, dumb lifetimes.
2020-02-10 20:06:35 -07:00
Lokathor
3b06e8498c
put in a highly experimental Write impl for ArrayVec of bytes
2020-02-10 20:02:56 -07:00
Lokathor
49a26a2bd5
Closes https://github.com/Lokathor/tinyvec/issues/48
2020-02-10 19:52:15 -07:00
dxenonb
47fd42eefd
Fix typo
2020-02-06 20:57:22 -05:00
Wim Looman
ac8dfa5cef
Allow inferring array type for macro constructors
2020-01-28 12:51:35 +01:00
Wim Looman
45275fbbc2
Make macros work without any other imports
2020-01-28 12:46:39 +01:00
Wim Looman
5e46d949af
Allow trailing comma in tiny_vec!
2020-01-28 12:43:32 +01:00
Lokathor
922aa16856
Merge pull request #57 from Lokathor/optimize-large-tiny_vec-macro-usage
...
Makes `tiny_vec!` go directly to the heap if the CAPACITY would have overflowed.
2020-01-26 14:56:30 -07:00
mgostIH
a699b96036
Fixed links in documentation by removing ::<A>
2020-01-26 22:25:33 +01:00
Lokathor
8bb66c5676
Update tinyvec.rs
2020-01-26 14:20:40 -07:00
Lokathor
180cf57ce3
sigh
2020-01-26 13:53:13 -07:00
Lokathor
f5d6afb5af
clippy
2020-01-26 13:47:24 -07:00
Lokathor
9cd112fb8f
Merge branch 'small-updates' of https://github.com/Lokathor/tinyvec into small-updates
2020-01-26 13:38:41 -07:00
Lokathor
ddf66f2222
docs, and fix up tiny_vec macro
2020-01-26 13:38:38 -07:00
Lokathor
44373a53a2
Merge branch 'master' into small-updates
2020-01-26 13:37:57 -07:00
Lokathor
d296cb65a6
Merge branch 'master' into small-updates
2020-01-26 12:44:18 -07:00
Lokathor
d155790c50
Merge pull request #56 from mgostIH/drain
...
Added more efficient implementation for ArrayVecDrain
2020-01-26 12:39:16 -07:00
Lokathor
c1ec9582ac
Merge pull request #54 from Nemo157/intoiter-debug
...
impl Debug for {Tiny,Array}VecIterator
2020-01-26 12:38:00 -07:00
Lokathor
398b3e1072
Merge pull request #52 from Nemo157/refintoiter
...
impl IntoIterator for &[mut] TinyVec
2020-01-26 12:36:46 -07:00
mgostIH
fbcc24e988
Added more efficient implementation for ArrayVecDrain, changed a few internal members of the struct, tests passed
2020-01-26 13:51:25 +01:00
Wim Looman
109e9b6e61
impl Debug for {Tiny,Array}VecIterator
2020-01-24 14:40:17 +01:00
Wim Looman
a033772cbd
impl IntoIterator for &[mut] TinyVec
2020-01-24 14:28:57 +01:00
Lokathor
d07708595a
Convert code notes into GitHub issues
2020-01-24 02:46:18 -07:00
Lokathor
9459d40649
cleanups
2020-01-24 02:38:18 -07:00
Lokathor
b2a9fe8e80
pipe down ya silly compiler
2020-01-24 02:38:03 -07:00
Lokathor
0f799c6b86
take should really always be inlined
2020-01-24 00:41:23 -07:00
Lokathor
212bf713a8
must_use on Array methods
2020-01-24 00:38:45 -07:00
Lokathor
9e2d179174
Update tinyvec.rs
2020-01-24 00:37:02 -07:00
Wesley Norris
6ea2d1afcb
Add From<&[T]> and From<&mut [T]> for TinyVec
...
This adds the From trait impls for `&[T]` and `&mut [T]` to `TinyVec`,
though unfortunately until we get lazy normalization, it currently
requires that the `A: Array<item = T>` bound also be `Default`, so
it does not work for array sizes > 32.
2020-01-23 17:58:27 -05:00
Lokathor
08a8db9a3f
add Hash to ArrayVec and TinyVec
2020-01-20 18:48:18 -07:00
Lokathor
713fa03339
improve the note
2020-01-19 13:21:25 -07:00
Lokathor
cc35f01600
fix an ambiguity warning/error thing
2020-01-19 13:04:08 -07:00
Lokathor
032ac155c9
cargo fmt hasn't been used in a while it seems.
2020-01-19 13:02:54 -07:00
Lokathor
11b8f629f2
greatly improve extend_from_slice (+formatting)
...
Closes https://github.com/Lokathor/tinyvec/issues/25
(Thanks ThatsNoMoon!)
2020-01-19 13:02:14 -07:00
Lokathor
6a4491c47b
improve ArrayVec::push panic message
...
Closes https://github.com/Lokathor/tinyvec/issues/24
2020-01-19 12:59:21 -07:00
mental
dd802b30fa
Account for heap allocated capacities.
2020-01-19 04:57:34 +00:00
Lokathor
fc564bfc25
Merge pull request #36 from HeroicKatora/fill
...
Add a fill method, a panic-free extend alternative
2020-01-18 19:14:17 -07:00
Lokathor
d8f6f36e05
Merge pull request #34 from HeroicKatora/retain
...
Implement linear time retain
2020-01-18 19:00:53 -07:00
Andreas Molzer
89c1023f1b
Add a fill method, a panic-free extend alternative
...
This is an alternative to `Extend::extend` method for cases where the
length of the iterator can not be checked. Since this vector can not
reallocate to increase its capacity, it is unclear what to do with
remaining elements in the iterator and the iterator itself. The
interface also provides no way to communicate this to the caller.
2020-01-18 19:28:36 +01:00
Andreas Molzer
cd4cd34c47
Fix element drop order on failed insert
2020-01-18 19:02:22 +01:00
Andreas Molzer
52f8446e40
Implement linear time retain
2020-01-18 18:37:38 +01:00
Lokathor
23aafa1825
Merge pull request #33 from HeroicKatora/simplify
...
Some Simplifications and efficiency changes
2020-01-18 10:33:24 -07:00
Andreas Molzer
c21132b495
Simplify resize with element or function
...
Avoids a call to Clone of the element by using the provided instance as
the one inserted last. A similar optimization is used in the standard
library. Also changes the iteration to an independent iterator as the
number of insert elements must be known in advance.
2020-01-18 18:27:03 +01:00
Andreas Molzer
381eacaa46
Use mem::take shorthand for defaulted replace
...
This makes the code more readable by shortening lines and avoid explicit
or redundant type annotations. The core function would require a rust
version of 1.40 so straightforward implementation is added to the crate.
2020-01-18 18:26:10 +01:00