Code Monkey home page Code Monkey logo

arrayvec's Introduction

arrayvec

A vector with fixed capacity.

Please read the API documentation here

build_status_ crates_ crates2_

Recent Changes (arrayvec)

  • 0.4.10
    • Use repr(C) in the union version that was introduced in 0.4.9, to allay some soundness concerns.
  • 0.4.9
    • Use union in the implementation on when this is detected to be supported (nightly only for now). This is a better solution for treating uninitialized regions correctly, and we'll use it in stable Rust as soon as we are able. When this is enabled, the ArrayVec has no space overhead in its memory layout, although the size of the vec should not be relied upon. (See #114)
    • ArrayString updated to not use uninitialized memory, it instead zeros its backing array. This will be refined in the next version, since we need to make changes to the user visible API.
    • The use_union feature now does nothing (like its documentation foretold).
  • 0.4.8
    • Implement Clone and Debug for IntoIter by @clarcharr
    • Add more array sizes under crate features. These cover all in the range up to 128 and 129 to 255 respectively (we have a few of those by default):
      • array-size-33-128
      • array-size-129-255
  • 0.4.7
    • Fix future compat warning about raw pointer casts
    • Use drop_in_place when dropping the arrayvec by-value iterator
    • Decrease mininum Rust version (see docs) by @jeehoonkang
  • 0.3.25
    • Fix future compat warning about raw pointer casts
  • 0.4.6
    • Fix compilation on 16-bit targets. This means, the 65536 array size is not included on these targets.
  • 0.3.24
    • Fix compilation on 16-bit targets. This means, the 65536 array size is not included on these targets.
    • Fix license files so that they are both included (was fixed in 0.4 before)
  • 0.4.5
    • Add methods to ArrayString by @DenialAdams:
      • .pop() -> Option<char>
      • .truncate(new_len)
      • .remove(index) -> char
    • Remove dependency on crate odds
    • Document debug assertions in unsafe methods better
  • 0.4.4
    • Add method ArrayVec::truncate() by @niklasf
  • 0.4.3
    • Improve performance for ArrayVec::extend with a lower level implementation (#74)
    • Small cleanup in dependencies (use no std for crates where we don't need more)
  • 0.4.2
    • Add constructor method new to CapacityError.
  • 0.4.1
    • Add Default impl to ArrayString by @tbu-
  • 0.4.0
    • Reformed signatures and error handling by @bluss and @tbu-:
      • ArrayVec's push, insert, remove, swap_remove now match Vec's corresponding signature and panic on capacity errors where applicable.
      • Add fallible methods try_push, insert and checked methods pop_at, swap_pop.
      • Similar changes to ArrayString's push methods.
    • Use a local version of the RangeArgument trait
    • Add array sizes 50, 150, 200 by @daboross
    • Support serde 1.0 by @daboross
    • New method .push_unchecked() by @niklasf
    • ArrayString implements PartialOrd, Ord by @tbu-
    • Require Rust 1.14
    • crate feature use_generic_array was dropped.
  • 0.3.23
    • Implement PartialOrd, Ord as well as PartialOrd<str> for ArrayString.
  • 0.3.22
    • Implement Array for the 65536 size
  • 0.3.21
    • Use encode_utf8 from crate odds
    • Add constructor ArrayString::from_byte_string
  • 0.3.20
    • Simplify and speed up ArrayStringโ€™s .push(char)-
  • 0.3.19
    • Add new crate feature use_generic_array which allows using their GenericArray just like a regular fixed size array for the storage of an ArrayVec.
  • 0.3.18
    • Fix bounds check in ArrayVec::insert! It would be buggy if self.len() < index < self.capacity(). Take note of the push out behavior specified in the docs.
  • 0.3.17
    • Added crate feature use_union which forwards to the nodrop crate feature
    • Added methods .is_full() to ArrayVec and ArrayString.
  • 0.3.16
    • Added method .retain() to ArrayVec.
    • Added methods .as_slice(), .as_mut_slice() to ArrayVec and .as_str() to ArrayString.
  • 0.3.15
    • Add feature std, which you can opt out of to use no_std (requires Rust 1.6 to opt out).
    • Implement Clone::clone_from for ArrayVec and ArrayString
  • 0.3.14
    • Add ArrayString::from(&str)
  • 0.3.13
    • Added DerefMut impl for ArrayString.
    • Added method .simplify() to drop the element for CapacityError.
    • Added method .dispose() to ArrayVec
  • 0.3.12
    • Added ArrayString, a fixed capacity analogy of String
  • 0.3.11
    • Added trait impls Default, PartialOrd, Ord, Write for ArrayVec
  • 0.3.10
    • Go back to using external NoDrop, fixing a panic safety bug (issue #3)
  • 0.3.8
    • Inline the non-dropping logic to remove one drop flag in the ArrayVec representation.
  • 0.3.7
    • Added method .into_inner()
    • Added unsafe method .set_len()

License

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.

arrayvec's People

Contributors

alexreg avatar bluss avatar clarfonthey avatar daboross avatar denialadams avatar despawnerer avatar gereeter avatar gnzlbg avatar ignatenkobrain avatar jeehoonkang avatar niklasf avatar shepmaster avatar tbu- avatar thomasdezeeuw avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.