use crate::Size;
use alloc::string::String;
#[cfg(feature = "defmt")]
mod defmt_impl;
mod deku_impl;
mod lib_impl;
mod std_impl;
#[derive(Clone, Default, PartialEq, PartialOrd, Eq, Ord)]
pub struct StringDeku(String);
#[derive(Debug, Clone, Copy)]
#[non_exhaustive]
pub enum StringLayout {
FixedLength {
size: usize,
allow_no_null: bool,
},
LengthPrefix(Size),
ZeroEnded,
}
impl StringLayout {
#[inline]
#[must_use]
pub const fn fixed_length(size: usize) -> Self {
Self::FixedLength {
size,
allow_no_null: false,
}
}
}
#[derive(Debug, Clone, Copy)]
#[non_exhaustive]
pub enum Encoding {
Utf8,
Utf16,
Utf32,
}