#![warn(missing_docs)]
#![cfg_attr(not(feature="std"), no_std)]
#![cfg_attr(feature="clippy", feature(plugin))]
#![cfg_attr(feature="clippy", plugin(clippy))]
#![cfg_attr(feature="clippy", allow(derive_hash_xor_eq))]#![cfg_attr(feature="clippy", allow(len_without_is_empty))]#![cfg_attr(feature="clippy", allow(match_same_arms))]#![cfg_attr(feature="clippy", allow(needless_return))]#![cfg_attr(feature="clippy", allow(redundant_closure))]#![cfg_attr(feature="clippy", allow(redundant_closure_call))]#![cfg_attr(feature="clippy", allow(cast_lossless))]
mod errors;
mod traits;
mod utf8_char;
mod utf8_iterators;
mod utf16_char;
mod utf16_iterators;
pub use traits::{CharExt, U8UtfExt, U16UtfExt, StrExt, IterExt};
pub use utf8_char::Utf8Char;
pub use utf16_char::Utf16Char;
pub use utf8_iterators::{Utf8Iterator, iter_bytes};
pub use utf16_iterators::{Utf16Iterator, iter_units};
pub mod error { pub use errors::{FromStrError, EmptyStrError};
pub use errors::{InvalidCodepoint, InvalidUtf8};
pub use errors::{InvalidUtf8FirstByte,InvalidUtf16FirstUnit};
pub use errors::{InvalidUtf8Slice,InvalidUtf16Slice};
pub use errors::{InvalidUtf8Array,InvalidUtf16Tuple};
}
pub mod iterator {
pub use utf8_iterators::{Utf8Iterator, Utf8CharSplitter, Utf8Chars, Utf8CharIndices};
pub use utf16_iterators::{Utf16Iterator, Utf16CharSplitter, Utf16Chars, Utf16CharIndices};
}