utf8_rune/
lib.rs

1mod errors;
2#[doc(inline)]
3pub use errors::{Error, Result};
4
5mod byte_type;
6#[doc(inline)]
7pub use byte_type::ByteType;
8
9mod rune;
10#[doc(inline)]
11pub use rune::Rune;
12
13mod runes;
14#[doc(inline)]
15pub use runes::Runes;
16
17pub mod pointer;
18
19#[cfg(feature = "pointer")]
20pub use pointer::{
21    copy, create, destroy, from_display, from_slice, get_byte_at_index,
22    get_byte_slice_of, get_valid_utf8_str_of, is_valid_utf8_str_of,
23};
24#[cfg(not(feature = "pointer"))]
25#[allow(unused_imports)]
26pub(crate) use pointer::{
27    copy, create, destroy, from_display, from_slice, get_byte_at_index,
28    get_byte_slice_of, get_valid_utf8_str_of, is_valid_utf8_str_of,
29};
30
31pub mod internal;
32pub(crate) use internal::{display_error, format_bytes, unwrap_indent, DEFAULT_INDENT};
33
34mod parts;
35#[doc(inline)]
36pub use parts::RuneParts;
37
38mod heuristic;
39#[doc(inline)]
40pub use heuristic::{
41    continuation_bytes_location, get_rune_cutoff_at_index, split_at_first_rune,
42};
43
44#[cfg(not(feature = "pointer"))]
45pub(crate) mod mem;
46#[cfg(feature = "pointer")]
47pub mod mem;
48#[cfg(not(feature = "pointer"))]
49pub(crate) use mem::layout;
50#[cfg(feature = "pointer")]
51pub use mem::{layout, MemoryError};