mod path;
mod pathbuf;
mod validation;
pub use path::{Components, Path};
pub use pathbuf::PathBuf;
use crate::data_types::chars::NUL_16;
use crate::{CStr16, Char16, cstr16};
pub use validation::PathError;
pub(super) use validation::validate_path;
pub const SEPARATOR: Char16 = unsafe { Char16::from_u16_unchecked('\\' as u16) };
pub const SEPARATOR_STR: &CStr16 = cstr16!("\\");
pub const CHARACTER_DENY_LIST: [Char16; 10] = unsafe {
[
NUL_16,
Char16::from_u16_unchecked('"' as u16),
Char16::from_u16_unchecked('*' as u16),
Char16::from_u16_unchecked('/' as u16),
Char16::from_u16_unchecked(':' as u16),
Char16::from_u16_unchecked('<' as u16),
Char16::from_u16_unchecked('>' as u16),
Char16::from_u16_unchecked('?' as u16),
SEPARATOR,
Char16::from_u16_unchecked('|' as u16),
]
};