#![ cfg_attr( not( feature = "use_std" ), no_std ) ] // zzz #![ doc( html_logo_url = "https://raw.githubusercontent.com/Wandalen/wTools/master/asset/img/logo_v3_trans_square.png" ) ] #![ doc( html_favicon_url = "https://raw.githubusercontent.com/Wandalen/wTools/alpha/asset/img/logo_v3_trans_square_icon_small_v2.ico")] #![ doc( html_root_url = "https://docs.rs/wtools/latest/wtools/")] #![ warn( rust_2018_idioms ) ] #![ warn( missing_debug_implementations ) ] #![ warn( missing_docs ) ] // #![ feature( type_name_of_val ) ] // #![ feature( trace_macros ) ] //! //! wTools - Collection of general purpose tools for solving problems. Fundamentally extend the language without spoiling, so may be used solely or in conjunction with another module of such kind. //! #![ doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/", "Readme.md" ) ) ] /* zzz : use skeptic? */ /// Dependencies. pub mod dependency { #[ cfg( any( feature = "former", feature = "meta_former" ) ) ] pub use ::meta_tools::former; #[ cfg( any( feature = "options", feature = "meta_options" ) ) ] pub use ::meta_tools::options; #[ cfg( feature = "meta" ) ] pub use ::meta_tools; #[ cfg( feature = "mem" ) ] pub use ::mem_tools; // zzz // #[ cfg( feature = "impls_index" ) ] // pub use ::impls_index; // #[ cfg( feature = "mod_interface" ) ] // pub use ::mod_interface; #[ cfg( feature = "typing" ) ] pub use ::typing_tools; #[ cfg( feature = "time" ) ] pub use ::time_tools; #[ cfg( feature = "string" ) ] pub use ::strs_tools; #[ cfg( feature = "error" ) ] pub use ::error_tools; // #[ cfg( feature = "winterval" ) ] // pub use ::winterval; #[ cfg( feature = "derive" ) ] pub use ::derive_tools; #[ cfg( feature = "diagnostics" ) ] pub use ::diagnostics_tools; } /// Protected namespace of the module. pub mod protected { #[ doc( inline ) ] pub use super::orphan::*; #[ cfg( feature = "iter" ) ] #[ doc( inline ) ] pub use ::iter_tools as iter; #[ cfg( feature = "meta" ) ] #[ doc( inline ) ] pub use ::meta_tools as meta; #[ cfg( feature = "mem" ) ] #[ doc( inline ) ] pub use ::mem_tools as mem; #[ cfg( feature = "typing" ) ] #[ doc( inline ) ] pub use ::typing_tools as typing; #[ cfg( feature = "diagnostics" ) ] #[ doc( inline ) ] pub use ::diagnostics_tools as diagnostics; #[ cfg( any( feature = "dt", feature = "data_type" ) ) ] #[ doc( inline ) ] pub use ::data_type as dt; #[ cfg( feature = "time" ) ] #[ doc( inline ) ] pub use ::time_tools as time; #[ cfg( feature = "error" ) ] #[ doc( inline ) ] pub use ::error_tools as error; #[ cfg( feature = "string" ) ] #[ doc( inline ) ] pub use ::strs_tools as string; #[ cfg( feature = "derive" ) ] #[ doc( inline ) ] pub use ::derive_tools as derive; #[ cfg( any( feature = "former", feature = "meta_former" ) ) ] #[ doc( inline ) ] pub use ::meta_tools::former as former; #[ cfg( any( feature = "options", feature = "meta_options" ) ) ] #[ doc( inline ) ] pub use ::meta_tools::options as options; } #[ doc( inline ) ] pub use protected::*; /// Orphan namespace of the module. pub mod orphan { #[ doc( inline ) ] pub use super::exposed::*; } /// Exposed namespace of the module. pub mod exposed { #[ doc( inline ) ] pub use super::prelude::*; #[ cfg( feature = "iter" ) ] pub use super::iter::exposed::*; #[ cfg( feature = "meta" ) ] pub use super::meta::exposed::*; #[ cfg( feature = "mem" ) ] pub use super::mem::exposed::*; #[ cfg( feature = "typing" ) ] pub use super::typing::exposed::*; #[ cfg( feature = "diagnostics" ) ] pub use super::diagnostics::exposed::*; #[ cfg( any( feature = "dt", feature = "data_type" ) ) ] pub use super::dt::exposed::*; #[ cfg( feature = "time" ) ] pub use super::time::exposed::*; #[ cfg( feature = "error" ) ] pub use super::error::exposed::*; #[ cfg( feature = "string" ) ] pub use super::string::exposed::*; #[ cfg( feature = "derive" ) ] pub use super::derive::exposed::*; #[ cfg( any( feature = "former", feature = "meta_former" ) ) ] pub use super::former::exposed::*; #[ cfg( any( feature = "options", feature = "meta_options" ) ) ] pub use super::options::exposed::*; } /// Prelude to use essentials: `use my_module::prelude::*`. pub mod prelude { #[ cfg( feature = "iter" ) ] #[ doc( inline ) ] pub use super::iter::prelude::*; #[ cfg( feature = "meta" ) ] #[ doc( inline ) ] pub use super::meta::prelude::*; #[ cfg( feature = "mem" ) ] #[ doc( inline ) ] pub use super::mem::prelude::*; #[ cfg( feature = "typing" ) ] #[ doc( inline ) ] pub use super::typing::prelude::*; #[ cfg( feature = "diagnostics" ) ] #[ doc( inline ) ] pub use super::diagnostics::prelude::*; #[ cfg( any( feature = "dt", feature = "data_type" ) ) ] #[ doc( inline ) ] pub use super::dt::prelude::*; #[ cfg( feature = "time" ) ] #[ doc( inline ) ] pub use super::time::prelude::*; #[ cfg( feature = "error" ) ] #[ doc( inline ) ] pub use super::error::prelude::*; #[ cfg( feature = "string" ) ] #[ doc( inline ) ] pub use super::string::prelude::*; #[ cfg( feature = "derive" ) ] #[ doc( inline ) ] pub use super::derive::prelude::*; // zzz #[ cfg( feature = "derive_clone_dyn" ) ] #[ doc( inline ) ] pub use super::derive::prelude::clone_dyn; #[ cfg( any( feature = "former", feature = "meta_former" ) ) ] #[ doc( inline ) ] pub use super::former::prelude::*; #[ cfg( any( feature = "options", feature = "meta_options" ) ) ] #[ doc( inline ) ] pub use super::options::prelude::*; }