#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
#![warn(clippy::missing_panics_doc)]
#![warn(clippy::undocumented_unsafe_blocks)]
#![cfg_attr(not(any(test, feature = "std")), no_std)]
#![cfg_attr(doc_cfg, feature(doc_cfg))]
#[cfg(feature = "nstd_alloc")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_alloc")))]
pub mod alloc;
#[cfg(feature = "nstd_core")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_core")))]
pub mod core;
#[cfg(feature = "nstd_cstring")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_cstring")))]
pub mod cstring;
#[cfg(feature = "nstd_env")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_env")))]
pub mod env;
#[cfg(feature = "nstd_fs")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_fs")))]
pub mod fs;
#[cfg(feature = "nstd_heap_ptr")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_heap_ptr")))]
pub mod heap_ptr;
#[cfg(feature = "nstd_io")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_io")))]
pub mod io;
#[cfg(feature = "nstd_math")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_math")))]
pub mod math;
#[cfg(feature = "nstd_mutex")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_mutex")))]
pub mod mutex;
#[cfg(feature = "nstd_os")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_os")))]
pub mod os;
#[cfg(feature = "nstd_proc")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_proc")))]
pub mod proc;
#[cfg(feature = "nstd_shared_lib")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_shared_lib")))]
pub mod shared_lib;
#[cfg(feature = "nstd_shared_ptr")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_shared_ptr")))]
pub mod shared_ptr;
#[cfg(feature = "nstd_string")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_string")))]
pub mod string;
#[cfg(test)]
pub(crate) mod test;
#[cfg(feature = "nstd_thread")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_thread")))]
pub mod thread;
#[cfg(feature = "nstd_time")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_time")))]
pub mod time;
#[cfg(feature = "nstd_timed_mutex")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_timed_mutex")))]
pub mod timed_mutex;
#[cfg(feature = "nstd_vec")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "nstd_vec")))]
pub mod vec;
use ::core::ffi::{c_char, c_void};
pub const NSTD_NULL: NSTDAnyMut = ::core::ptr::null_mut();
pub const NSTD_FALSE: NSTDBool = false;
pub const NSTD_TRUE: NSTDBool = true;
pub type NSTDInt = isize;
pub type NSTDUInt = usize;
pub type NSTDInt8 = i8;
pub type NSTDUInt8 = u8;
pub type NSTDInt16 = i16;
pub type NSTDUInt16 = u16;
pub type NSTDInt32 = i32;
pub type NSTDUInt32 = u32;
pub type NSTDInt64 = i64;
pub type NSTDUInt64 = u64;
pub type NSTDFloat32 = f32;
pub type NSTDFloat64 = f64;
pub type NSTDChar = c_char;
pub type NSTDChar8 = NSTDUInt8;
pub type NSTDChar16 = NSTDUInt16;
pub type NSTDChar32 = NSTDUInt32;
pub type NSTDAny = *const c_void;
pub type NSTDAnyMut = *mut c_void;
pub type NSTDBool = bool;