[−][src]Crate tinyvec_string
tinyvec based string types.
tinyvec_string provides two string types:
ArrayString, a string backed by a fixed-size array on the stack, usingArrayVecTinyString, a string backed by either a fixed-size array on the stack or aVecon the heap, usingTinyVec
Features
Like tinyvec, tinyvec_string is no_std by default.
ArrayString has no dependencies (other than tinyvec and core).
TinyString requires the the alloc cargo feature to be enabled because
it has a dependency on alloc:
[dependencies]
tinyvec_string = { version = "0.1.0", features = ["alloc"] }
Error types implement std::error::Error when the std feature is
enabled.
Safety
This crate strives to be as safe as possible. Almost all internal unsafe
code is copied verbatim from std's String implementation for maximum
reliability and performance. That said, this unsafe code is relying on
tinyvec, which is 100% safe. The implication of this is that if you
implement Array, a safe trait to implement, on your own type
incorrectly (not always returning the same slice), then you could have
memory safety problems. Using this crate with the primitive array types
([u8; N]) will cause no problems.
Re-exports
pub use arraystring::ArrayString; |
pub use tinystring::TinyString; |
Modules
| arraystring |
|
| tinystring | alloc
|
| tinyvec | Re-exports from |