Crates.io | tinyvec_string |
lib.rs | tinyvec_string |
version | 0.3.2 |
source | src |
created_at | 2020-07-17 08:31:27.080855 |
updated_at | 2022-01-04 22:08:00.179413 |
description | tinyvec based string types |
homepage | |
repository | https://github.com/ThatsNoMoon/tinyvec_string |
max_upload_size | |
id | 266153 |
size | 138,768 |
tinyvec
based string types.
tinyvec_string
provides two string types:
ArrayString
, a string backed by a fixed-size array on the stack,
using ArrayVec
TinyString
, a string backed by either a fixed-size array on the stack
or a Vec
on the heapLike tinyvec
, tinyvec_string
is no_std
by default.
ArrayString
has no dependencies (other than tinyvec
and core
).
TinyString
requires the the alloc
cargo feature to be enabled because
it has a dependency on alloc
:
[dependencies]
tinyvec_string = { version = "0.3.2", features = ["alloc"] }
Error types implement std::error::Error
when the std
feature is
enabled.
The rustc_1_40
feature enables tinyvec
's rustc_1_40
feature, which enables
some optimizations for Rust versions >= 1.40.
The rustc_1_55
feature enables usage of const generics to allow usage of
backing arrays of any size.
The rustc_1_57
feature enables TinyString::try_reserve
and
TinyString::try_reserve_exact
.
This crate strives to be as safe as possible. Almost all internal unsafe
code is copied verbatim from std
's String
implementation for maximum
reliability and performance.
Like tinyvec
, tinyvec_string
(without rustc
version features) supports
Rust 1.34+. The alloc
feature requires Rust 1.36+.
Feel free to open an issue if you have a problem, or open a pull request if you have a solution. Also feel free to reach me on the Rust Community Discord Server @ThatsNoMoon#0175.
tinyvec_string
is dual-licensed under Apache-2.0 and MIT. Large sections of
code, documentation, and tests were copied verbatim or copied and modified from
rust-lang/rust; copyright for such content
belongs to the original author.