9 releases
0.9.10 | Jan 22, 2024 |
---|---|
0.9.9 | May 5, 2023 |
0.9.7 | May 17, 2022 |
0.9.6 | Apr 7, 2021 |
0.9.2 | Sep 25, 2020 |
#85 in Text processing
682,353 downloads per month
Used in 928 crates
(10 directly)
28KB
441 lines
uncased
Case-preserving, ASCII case-insensitive no_std
string types.
An uncased string is case-preserving. That is, the string itself contains cased characters, but comparison (including ordering, equality, and hashing) is ASCII case-insensitive.
use uncased::UncasedStr;
let x: &UncasedStr = "hello!".into();
let y: &UncasedStr = "HelLo!".into();
assert_eq!(x, y);
assert_eq!(x.as_str(), "hello!");
assert_eq!(y.as_str(), "HelLo!");
See the documentation for detailed usage information.
Usage
Add the following to your Cargo.toml
:
[dependencies]
uncased = "0.9"
This crate is #![no_std]
compatible. By default, the alloc
feature is
enabled, which enables the Uncased
type but requires alloc
support. To
disable the feature, disable this crate's default features:
[dependencies]
uncased = { version = "0.9", default-features = false }
Note: This crate does not perform Unicode case-folding. For Unicode
case-folding, see unicase
.
License
uncased
is licensed under either of the following, at your option:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in uncased
by you shall be dual licensed as above without any
additional terms or conditions.
Dependencies
~165KB