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

..03-May-2022-

benches/H03-May-2022-170146

src/H03-May-2022-2,0681,164

tests/H03-May-2022-760611

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

.cargo_vcs_info.jsonH A D01-Jan-197074 65

.gitignoreH A D09-Oct-2019102 1310

.travis.ymlH A D09-Oct-2019967 3938

Cargo.tomlH A D01-Jan-19701.6 KiB6353

Cargo.toml.orig-cargoH A D09-Oct-20191 KiB5541

LICENSE-APACHEH A D28-Nov-201810.6 KiB202169

LICENSE-MITH A D28-Nov-20181 KiB2622

README.rstH A D09-Oct-20197.7 KiB260172

custom.cssH A D28-Nov-2018533 2620

README.rst

1
2arrayvec
3========
4
5A vector with fixed capacity.
6
7Please read the `API documentation here`__
8
9__ https://docs.rs/arrayvec
10
11|build_status|_ |crates|_ |crates2|_
12
13.. |build_status| image:: https://travis-ci.org/bluss/arrayvec.svg
14.. _build_status: https://travis-ci.org/bluss/arrayvec
15
16.. |crates| image:: http://meritbadge.herokuapp.com/arrayvec
17.. _crates: https://crates.io/crates/arrayvec
18
19.. |crates2| image:: http://meritbadge.herokuapp.com/nodrop
20.. _crates2: https://crates.io/crates/nodrop
21
22Recent Changes (arrayvec)
23-------------------------
24
25- 0.5.1
26
27  - Add ``as_ptr``, ``as_mut_ptr`` accessors directly on the ``ArrayVec`` by @tbu-
28    (matches the same addition to ``Vec`` which happened in Rust 1.37).
29  - Add method ``ArrayString::len`` (now available directly, not just through deref to str).
30  - Use raw pointers instead of ``&mut [u8]`` for encoding chars into ``ArrayString``
31    (uninit best practice fix).
32  - Use raw pointers instead of ``get_unchecked_mut`` where the target may be
33    uninitialized a everywhere relevant in the ArrayVec implementation
34    (uninit best practice fix).
35  - Changed inline hints on many methods, mainly removing inline hints
36  - ``ArrayVec::dispose`` is now deprecated (it has no purpose anymore)
37
38- 0.4.12
39
40  - Use raw pointers instead of ``get_unchecked_mut`` where the target may be
41    uninitialized a everywhere relevant in the ArrayVec implementation.
42
43- 0.5.0
44
45  - Use ``MaybeUninit`` (now unconditionally) in the implementation of
46    ``ArrayVec``
47  - Use ``MaybeUninit`` (now unconditionally) in the implementation of
48    ``ArrayString``
49  - The crate feature for serde serialization is now named ``serde``.
50  - Updated the ``Array`` trait interface, and it is now easier to use for
51    users outside the crate.
52  - Add ``FromStr`` impl for ``ArrayString`` by @despawnerer
53  - Add method ``try_extend_from_slice`` to ``ArrayVec``, which is always
54    effecient by @Thomasdezeeuw.
55  - Add method ``remaining_capacity`` by @Thomasdezeeuw
56  - Improve performance of the ``extend`` method.
57  - The index type of zero capacity vectors is now itself zero size, by
58    @clarfon
59  - Use ``drop_in_place`` for truncate and clear methods. This affects drop order
60    and resume from panic during drop.
61  - Use Rust 2018 edition for the implementation
62  - Require Rust 1.36 or later, for the unconditional ``MaybeUninit``
63    improvements.
64
65- 0.4.11
66
67  - In Rust 1.36 or later, use newly stable MaybeUninit. This extends the
68    soundness work introduced in 0.4.9, we are finally able to use this in
69    stable. We use feature detection (build script) to enable this at build
70    time.
71
72- 0.4.10
73
74  - Use ``repr(C)`` in the ``union`` version that was introduced in 0.4.9, to
75    allay some soundness concerns.
76
77- 0.4.9
78
79  - Use ``union`` in the implementation on when this is detected to be supported
80    (nightly only for now). This is a better solution for treating uninitialized
81    regions correctly, and we'll use it in stable Rust as soon as we are able.
82    When this is enabled, the ``ArrayVec`` has no space overhead in its memory
83    layout, although the size of the vec should not be relied upon. (See `#114`_)
84  - ``ArrayString`` updated to not use uninitialized memory, it instead zeros its
85    backing array. This will be refined in the next version, since we
86    need to make changes to the user visible API.
87  - The ``use_union`` feature now does nothing (like its documentation foretold).
88
89.. _`#114`: https://github.com/bluss/arrayvec/pull/114
90
91- 0.4.8
92
93  - Implement Clone and Debug for ``IntoIter`` by @clarcharr
94  - Add more array sizes under crate features. These cover all in the range
95    up to 128 and 129 to 255 respectively (we have a few of those by default):
96
97    - ``array-size-33-128``
98    - ``array-size-129-255``
99
100- 0.4.7
101
102  - Fix future compat warning about raw pointer casts
103  - Use ``drop_in_place`` when dropping the arrayvec by-value iterator
104  - Decrease mininum Rust version (see docs) by @jeehoonkang
105
106- 0.3.25
107
108  - Fix future compat warning about raw pointer casts
109
110- 0.4.6
111
112  - Fix compilation on 16-bit targets. This means, the 65536 array size is not
113    included on these targets.
114
115- 0.3.24
116
117  - Fix compilation on 16-bit targets. This means, the 65536 array size is not
118    included on these targets.
119  - Fix license files so that they are both included (was fixed in 0.4 before)
120
121- 0.4.5
122
123  - Add methods to ``ArrayString`` by @DenialAdams:
124
125    - ``.pop() -> Option<char>``
126    - ``.truncate(new_len)``
127    - ``.remove(index) -> char``
128
129  - Remove dependency on crate odds
130  - Document debug assertions in unsafe methods better
131
132- 0.4.4
133
134  - Add method ``ArrayVec::truncate()`` by @niklasf
135
136- 0.4.3
137
138  - Improve performance for ``ArrayVec::extend`` with a lower level
139    implementation (#74)
140  - Small cleanup in dependencies (use no std for crates where we don't need more)
141
142- 0.4.2
143
144  - Add constructor method ``new`` to ``CapacityError``.
145
146- 0.4.1
147
148  - Add ``Default`` impl to ``ArrayString`` by @tbu-
149
150- 0.4.0
151
152  - Reformed signatures and error handling by @bluss and @tbu-:
153
154    - ``ArrayVec``'s ``push, insert, remove, swap_remove`` now match ``Vec``'s
155      corresponding signature and panic on capacity errors where applicable.
156    - Add fallible methods ``try_push, insert`` and checked methods
157      ``pop_at, swap_pop``.
158    - Similar changes to ``ArrayString``'s push methods.
159
160  - Use a local version of the ``RangeArgument`` trait
161  - Add array sizes 50, 150, 200 by @daboross
162  - Support serde 1.0 by @daboross
163  - New method ``.push_unchecked()`` by @niklasf
164  - ``ArrayString`` implements ``PartialOrd, Ord`` by @tbu-
165  - Require Rust 1.14
166  - crate feature ``use_generic_array`` was dropped.
167
168- 0.3.23
169
170  - Implement ``PartialOrd, Ord`` as well as ``PartialOrd<str>`` for
171    ``ArrayString``.
172
173- 0.3.22
174
175  - Implement ``Array`` for the 65536 size
176
177- 0.3.21
178
179  - Use ``encode_utf8`` from crate odds
180  - Add constructor ``ArrayString::from_byte_string``
181
182- 0.3.20
183
184  - Simplify and speed up ``ArrayString``’s ``.push(char)``-
185
186- 0.3.19
187
188  - Add new crate feature ``use_generic_array`` which allows using their
189    ``GenericArray`` just like a regular fixed size array for the storage
190    of an ``ArrayVec``.
191
192- 0.3.18
193
194  - Fix bounds check in ``ArrayVec::insert``!
195    It would be buggy if ``self.len() < index < self.capacity()``. Take note of
196    the push out behavior specified in the docs.
197
198- 0.3.17
199
200  - Added crate feature ``use_union`` which forwards to the nodrop crate feature
201  - Added methods ``.is_full()`` to ``ArrayVec`` and ``ArrayString``.
202
203- 0.3.16
204
205  - Added method ``.retain()`` to ``ArrayVec``.
206  - Added methods ``.as_slice(), .as_mut_slice()`` to ``ArrayVec`` and ``.as_str()``
207    to ``ArrayString``.
208
209- 0.3.15
210
211  - Add feature std, which you can opt out of to use ``no_std`` (requires Rust 1.6
212    to opt out).
213  - Implement ``Clone::clone_from`` for ArrayVec and ArrayString
214
215- 0.3.14
216
217  - Add ``ArrayString::from(&str)``
218
219- 0.3.13
220
221  - Added ``DerefMut`` impl for ``ArrayString``.
222  - Added method ``.simplify()`` to drop the element for ``CapacityError``.
223  - Added method ``.dispose()`` to ``ArrayVec``
224
225- 0.3.12
226
227  - Added ArrayString, a fixed capacity analogy of String
228
229- 0.3.11
230
231  - Added trait impls Default, PartialOrd, Ord, Write for ArrayVec
232
233- 0.3.10
234
235  - Go back to using external NoDrop, fixing a panic safety bug (issue #3)
236
237- 0.3.8
238
239  - Inline the non-dropping logic to remove one drop flag in the
240    ArrayVec representation.
241
242- 0.3.7
243
244  - Added method .into_inner()
245  - Added unsafe method .set_len()
246
247
248License
249=======
250
251Dual-licensed to be compatible with the Rust project.
252
253Licensed under the Apache License, Version 2.0
254http://www.apache.org/licenses/LICENSE-2.0 or the MIT license
255http://opensource.org/licenses/MIT, at your
256option. This file may not be copied, modified, or distributed
257except according to those terms.
258
259
260