1#![cfg_attr(feature = "std", doc = include_str!("../README.md"))]
2#![cfg_attr(not(feature = "std"), no_std)]
3
4#[doc = include_str!("../README.md")]
5#[cfg(all(doctest, feature = "std"))]
6pub struct ReadmeDoctests;
7
8extern crate alloc;
9
10mod no_std_compat {
11 #[allow(unused_imports)]
12 pub use alloc::{
13 boxed::Box,
14 string::{String, ToString},
15 vec,
16 vec::Vec,
17 };
18}
19
20#[macro_use]
21mod common;
22#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
23mod native;
24#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
25mod platform;
26mod typed;
27mod unix;
28#[cfg(all(feature = "std", not(target_family = "wasm")))]
29pub mod utils;
30mod windows;
31
32mod private {
33 pub trait Sealed {}
35}
36
37pub use common::*;
38#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
39pub use native::*;
40#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
41pub use platform::*;
42pub use typed::*;
43pub use unix::*;
44pub use windows::*;
45
46pub mod constants {
48 use super::unix::constants as unix_constants;
49 use super::windows::constants as windows_constants;
50
51 pub mod unix {
53 pub use super::unix_constants::*;
54 }
55
56 pub mod windows {
58 pub use super::windows_constants::*;
59 }
60}