| Crates.io | quetta |
| lib.rs | quetta |
| version | 0.1.0 |
| created_at | 2021-10-15 17:56:07.350092+00 |
| updated_at | 2021-10-15 17:56:07.350092+00 |
| description | Immutable, reference-counted strings for rust |
| homepage | |
| repository | https://github.com/SpacialCircumstances/quetta |
| max_upload_size | |
| id | 465598 |
| size | 15,886 |
(from the Quenya word for "word") is a library providing simple
immutable strings in Rust.
Essentially, it is a wrapper around Arc<str>, but with support for slicing and compatibility features
with &str.
The primary type provided is quetta::Text, which is either a owned string (immutable and refcounted atomically) or a slice into one.
Strings in Rust are relatively cumbersome to use (compared to high-level languages like Java, C#, OCaml etc.). For dealing with strings, there are two common choices:
Use an owned String
&str or cause copyingUse a string slice &str
String aroundquetta::Text aims to make dealing with this easier, especially for applications like GUI apps and compilers that often have to deal and pass around text.
Add this to your Cargo.toml:
[dependencies]
quetta = "0.1.0"
use quetta::Text;
let t: Text = Text::new("a.b.c");
let s1: Text = t.slice(0, 2);
assert_eq!("a.", s1.as_str());
For more examples, see the documentation or take a look at the code.