9 releases
0.3.1 | Sep 13, 2024 |
---|---|
0.3.0 | Dec 2, 2021 |
0.2.1 | Jun 27, 2019 |
0.2.0 | Mar 6, 2019 |
0.0.0 | Jul 25, 2017 |
#99 in Data structures
38,923 downloads per month
Used in 1,166 crates
(via twitter-stream)
13KB
178 lines
String
A UTF-8 encoded string with configurable byte storage.
Usage
To use string
, first add this to your Cargo.toml
:
[dependencies]
string = "0.3.1"
Next, add this to your crate:
extern crate string;
use string::{String, TryFrom};
let s: String<[u8; 2]> = String::try_from([b'h', b'i']).unwrap();
assert_eq!(&s[..], "hi");
See documentation for more details.
lib.rs
:
A UTF-8 encoded string with configurable byte storage.
This crate provides String
, a type similar to its std counterpart, but
with one significant difference: the underlying byte storage is
configurable. In other words, String<T>
is a marker type wrapping T
,
indicating that it represents a UTF-8 encoded string.
For example, one can represent small strings (stack allocated) by wrapping an array:
let s: String<[u8; 2]> = String::try_from([b'h', b'i']).unwrap();
assert_eq!(&s[..], "hi");
Dependencies
~195KB