• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

benches/H03-May-2022-563461

src/H03-May-2022-2,5361,779

tests/H03-May-2022-274230

.cargo-checksum.jsonH A D03-May-202289 11

.travis.ymlH A D19-Nov-2017632 2625

Cargo.tomlH A D01-Jan-19701.4 KiB4236

Cargo.toml.orig-cargoH A D19-Nov-2017881 3325

LICENSE-APACHEH A D19-Nov-201710.6 KiB202169

LICENSE-MITH A D19-Nov-20171 KiB2622

README.rstH A D19-Nov-20173.6 KiB16799

README.rst

1
2odds
3====
4
5Odds and ends — collection miscellania. Extra functionality related to slices,
6strings and other things.
7
8Please read the `API documentation here`__
9
10__ https://docs.rs/odds/
11
12|build_status|_ |crates|_
13
14.. |build_status| image:: https://travis-ci.org/bluss/odds.svg
15.. _build_status: https://travis-ci.org/bluss/odds
16
17.. |crates| image:: http://meritbadge.herokuapp.com/odds
18.. _crates: https://crates.io/crates/odds
19
20Recent Changes
21--------------
22
23- 0.2.26
24
25  - Proper license files by @raphlinus
26
27- 0.2.25
28
29  - Add ``UnalignedIter``
30  - Add ``SliceCopyIter``
31  - ``CharStr`` now implements more traits.
32
33- 0.2.24
34
35  - Add ``CharStr``
36
37- 0.2.23
38
39  - Add ``RevSlice``, a reversed view of a slice
40  - Add ``encode_utf8`` for encoding chars
41
42- 0.2.22
43
44  - Improve slice's ``.find()`` and ``.rfind()`` and related methods
45    by explicitly unrolling their search loop.
46
47- 0.2.21
48
49  - Add ``slice::rotate_left`` to cyclically rotate elements in a slice.
50
51- 0.2.20
52
53  - Add ``SliceFindSplit`` with ``.find_split, .rfind_split, .find_split_mut,``
54    ``.rfind_split_mut``.
55  - Add ``VecFindRemove`` with ``.find_remove(), .rfind_remove()``.
56
57- 0.2.19
58
59  - Add trait ``SliceFind`` with methods ``.find(&T), .rfind(&T)`` for
60    slices.
61  - Add function ``vec(iterable) -> Vec``
62  - Add prelude module
63
64- 0.2.18
65
66  - Correct ``split_aligned_for<T>`` to use the trait bound.
67
68- 0.2.17
69
70  - Add ``split_aligned_for<T>`` function that splits a byte slice into
71    head and tail slices and a main slice that is a well aligned block
72    of type ``&[T]``. Where ``T`` is a pod type like for example ``u64``.
73  - Add ``Stride, StrideMut`` that moved here from itertools
74  - Add ``mend_slices`` iterator extension that moved here from itertools
75
76- 0.2.16
77
78  - Add ``fix`` function that makes it much easier to use the ``Fix`` combinator.
79    Type inference works much better for the closure this way.
80
81- 0.2.15
82
83  - Add ``std::slice::shared_prefix`` to efficiently compute the shared
84    prefix of two byte slices
85  - Add str extension methods ``.char_chunks(n)`` and ``char_windows(n)``
86    that are iterators that do the char-wise equivalent of slice's chunks and windows
87    iterators.
88
89- 0.2.14
90
91  - Fix ``get_slice`` to check ``start <= end`` as well.
92
93- 0.2.13
94
95  - Add extension trait ``StrSlice`` with method ``get_slice`` that is a slicing
96    method that returns an optional slice.
97
98- 0.2.12
99
100  - Add default feature "std". odds uses ``no_std`` if you opt out of this
101    feature.
102
103- 0.2.11
104
105  - Add type parameter to ``IndexRange`` (that defaults to ``usize``,
106    so that it's non-breaking).
107  - Drop dep on ``unreachable`` (provided in a simpler implementation locally).
108
109- 0.2.10
110
111  - Fix feature flags when using cargo feature ``unstable``
112
113- 0.2.9
114
115  - Add ``slice_unchecked_mut``
116  - Add ``ref_slice``, ``ref_slice_mut``
117
118- 0.2.8
119
120  - Add `VecExt::retain_mut`
121
122- 0.2.7
123
124  - `inline(always)` on `debug_assert_unreachable`
125
126- 0.2.6
127
128  - Add lifetime bounds for Fix for well-formedness (Rust RFC 1214)
129  - Add `StrExt::is_acceptable_index`
130
131- 0.2.5
132
133  - Add `StringExt::insert_str` and `VecExt::splice`
134
135- 0.2.4
136
137  - Add `odds::string::StrExt`, extensions to `&str`.
138
139- 0.2.3
140
141  - Add default for Fix so that ``Fix<T> == Fix<T, T>``
142
143- 0.2.2
144
145  - Add ptr_eq, ref_eq
146
147- 0.2.1
148
149  - Add slice_unchecked
150
151- 0.2.0
152
153  - Removed **Void**, see ``void`` crate instead.
154
155License
156-------
157
158Dual-licensed to be compatible with the Rust project.
159
160Licensed under the Apache License, Version 2.0
161http://www.apache.org/licenses/LICENSE-2.0 or the MIT license
162http://opensource.org/licenses/MIT, at your
163option. This file may not be copied, modified, or distributed
164except according to those terms.
165
166
167