Crates.io | thin_str |
lib.rs | thin_str |
version | 0.1.0 |
source | src |
created_at | 2020-01-16 09:11:43.755765 |
updated_at | 2020-01-16 09:11:43.755765 |
description | A string type that's smaller than `Box |
homepage | |
repository | https://github.com/thomcc/thin_str |
max_upload_size | |
id | 199044 |
size | 32,228 |
thin_str
: A rust crate for a single-pointer stringThinStr
is the slimmer sibling of Box<str>
and String
. It's a single (nonnull) pointer, and stores it's length inline with the data, in the same allocation.
Right now the interface is minimally feature-complete, and relies on Deref<Target = str>
for most of it, but patches are welcome to flesh it out more.
In particular, while it isn't immutable, it might as well be, since it cannot currently be resized after construction. This will probably eventually change, but it will likely always be much more like Box<str>
rather than like String
.
This crate is currently no_std compatible in all configurations, however it uses extern crate alloc
as you might expect.
serde_support
: Support serializing and deserializing ThinStr
using serde
. Disabled by default.MIT/Apache2