Expand description
No more relying solely on the standard library’s String! CheetahString is a versatile string type that can store static strings, dynamic strings, and byte arrays.
It is usable in both std and no_std environments. Additionally, CheetahString supports serde for serialization and deserialization.
CheetahString also supports the bytes feature, allowing conversion to the bytes::Bytes type.
This reduces memory allocations during cloning, enhancing performance.
§SIMD Acceleration
When compiled with the simd feature flag, CheetahString uses SIMD (Single Instruction, Multiple Data)
instructions to accelerate string matching operations on x86_64 platforms with SSE2 support.
SIMD acceleration is applied to:
starts_with()- Pattern prefix matchingends_with()- Pattern suffix matchingcontains()/find()- Substring search- Equality comparisons (
==,!=)
The implementation automatically uses SIMD for strings >= 16 bytes and falls back to scalar operations for smaller inputs or when SIMD is not available.
To enable SIMD acceleration:
[dependencies]
cheetah-string = { version = "1.0.0", features = ["simd"] } §Examples
Basic usage:
use cheetah_string::CheetahString;
let s = CheetahString::from("Hello, world!");
let s2:&'static str = "Hello, world!";
let s3 = CheetahString::from_static_str(s2);
let s4 = CheetahString::new();
Using SIMD-accelerated operations (when simd feature is enabled):
use cheetah_string::CheetahString;
let url = CheetahString::from("https://api.example.com/v1/users");
// These operations use SIMD when the pattern is >= 16 bytes
if url.starts_with("https://") {
println!("Secure connection");
}
if url.contains("api") {
println!("API endpoint");
}Structs§
- Cheetah
String - Split
Str - Helper struct for splitting strings by a string pattern
Enums§
- Error
- Errors that can occur during CheetahString operations
- Split
Wrapper - Wrapper for split iterator that supports both char and str patterns
Traits§
- Split
Pattern - A pattern that can be used with
splitmethod. - StrPattern
- A pattern that can be used with
starts_withandends_withmethods.
Type Aliases§
- Result
- Result type for CheetahString operations