#![doc = include_str!("../README.md")]
#![warn(
missing_docs,
clippy::missing_panics_doc,
clippy::undocumented_unsafe_blocks
)]
#![cfg_attr(feature = "link", allow(dead_code, unused_imports))]
#![cfg_attr(not(any(test, feature = "std")), no_std)]
#![cfg_attr(doc_cfg, feature(doc_cfg))]
#[cfg(feature = "alloc")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "alloc")))]
pub mod alloc;
#[cfg(feature = "core")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "core")))]
pub mod core;
#[cfg(feature = "cstring")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "cstring")))]
pub mod cstring;
#[cfg(feature = "env")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "env")))]
pub mod env;
#[cfg(feature = "fs")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "fs")))]
pub mod fs;
#[cfg(feature = "heap_ptr")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "heap_ptr")))]
pub mod heap_ptr;
#[cfg(feature = "io")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "io")))]
pub mod io;
#[cfg(feature = "math")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "math")))]
pub mod math;
#[cfg(feature = "mutex")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "mutex")))]
pub mod mutex;
#[cfg(feature = "os")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "os")))]
pub mod os;
#[cfg(feature = "proc")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "proc")))]
pub mod proc;
#[cfg(feature = "shared_lib")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "shared_lib")))]
pub mod shared_lib;
#[cfg(feature = "shared_ptr")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "shared_ptr")))]
pub mod shared_ptr;
#[cfg(feature = "string")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "string")))]
pub mod string;
#[cfg(test)]
pub(crate) mod test;
#[cfg(feature = "thread")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "thread")))]
pub mod thread;
#[cfg(feature = "time")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "time")))]
pub mod time;
#[cfg(feature = "timed_mutex")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "timed_mutex")))]
pub mod timed_mutex;
#[cfg(feature = "vec")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "vec")))]
pub mod vec;
use ::core::ffi::{c_char, c_void};
#[allow(dead_code)]
pub(crate) const NSTD_INT_MAX: NSTDInt = NSTDInt::MAX;
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;