Odds and ends — collection miscellania. Extra functionality related to slices, strings and other things.
Please read the API documentation here
__
__ https://docs.rs/odds/
|buildstatus| |crates|_
.. |buildstatus| image:: https://travis-ci.org/bluss/odds.svg .. _buildstatus: https://travis-ci.org/bluss/odds
.. |crates| image:: http://meritbadge.herokuapp.com/odds .. _crates: https://crates.io/crates/odds
0.3.0
fix
and Fix
closure combinator to not use
dynamic dispatch! new formulation was an idea by @talchasEncodeUtf8Error
by George Burtonrawslice
for its SliceIter
.SliceIter
and SliceCopyIter
: access start/end
pointer, implement Index
.BlockedIter
Remove functionality that is unused or directly conflicts with other new features, for example in std:
Vec::splice
. Use the std splice.
Deprecate functionality that has been added to std:
String::insert_str
str::rep
ptr_eq
, ref_eq
: use std::ptr::eq
Deprecate functionality that has moved:
get_unchecked
, slice_unchecked
: use unchecked-index
crate instead
Vec functionality is now opt-in under feature std-vec
.
String functionality the same under std-string
.
The crate is now no_std
by default.
0.2.26
0.2.25
UnalignedIter
SliceCopyIter
CharStr
now implements more traits.0.2.24
CharStr
0.2.23
RevSlice
, a reversed view of a sliceencode_utf8
for encoding chars0.2.22
.find()
and .rfind()
and related methods
by explicitly unrolling their search loop.0.2.21
slice::rotate_left
to cyclically rotate elements in a slice.0.2.20
SliceFindSplit
with .find_split, .rfind_split, .find_split_mut,
.rfind_split_mut
.VecFindRemove
with .find_remove(), .rfind_remove()
.0.2.19
SliceFind
with methods .find(&T), .rfind(&T)
for
slices.vec(iterable) -> Vec
0.2.18
split_aligned_for<T>
to use the trait bound.0.2.17
split_aligned_for<T>
function that splits a byte slice into
head and tail slices and a main slice that is a well aligned block
of type &[T]
. Where T
is a pod type like for example u64
.Stride, StrideMut
that moved here from itertoolsmend_slices
iterator extension that moved here from itertools0.2.16
fix
function that makes it much easier to use the Fix
combinator.
Type inference works much better for the closure this way.0.2.15
std::slice::shared_prefix
to efficiently compute the shared
prefix of two byte slices.char_chunks(n)
and char_windows(n)
that are iterators that do the char-wise equivalent of slice's chunks and windows
iterators.0.2.14
get_slice
to check start <= end
as well.0.2.13
StrSlice
with method get_slice
that is a slicing
method that returns an optional slice.0.2.12
no_std
if you opt out of this
feature.0.2.11
IndexRange
(that defaults to usize
,
so that it's non-breaking).unreachable
(provided in a simpler implementation locally).0.2.10
unstable
0.2.9
slice_unchecked_mut
ref_slice
, ref_slice_mut
0.2.8
VecExt::retain_mut
0.2.7
inline(always)
on debug_assert_unreachable
0.2.6
StrExt::is_acceptable_index
0.2.5
StringExt::insert_str
and VecExt::splice
0.2.4
odds::string::StrExt
, extensions to &str
.0.2.3
Fix<T> == Fix<T, T>
0.2.2
0.2.1
0.2.0
void
crate instead.Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.