devela/num/geom/
mod.rs

1// devela::num::geom
2//
3//! Geometric types and operations, spatial constructs and analysis.
4#![doc = crate::doc_!(modules: crate::num; geom: linear, metric, shape)]
5//
6
7pub mod metric; // Position, Distance, Extent, Stride...
8
9#[cfg(feature = "linear")]
10#[cfg_attr(nightly_doc, doc(cfg(feature = "linear")))]
11pub mod linear; // Vector*, Matrix*
12#[cfg(feature = "shape")]
13#[cfg_attr(nightly_doc, doc(cfg(feature = "shape")))]
14pub mod shape; // Point, …
15
16crate::items! { // structural access: _pub_mods, _internals, _all
17    #[allow(unused)]
18    pub use _internals::*;
19    #[allow(unused)] #[doc(hidden, no_inline)]
20    pub use _pub_mods::*;
21
22    // mod _mods {}
23    mod _pub_mods { #![allow(unused)]
24        pub use super::metric::_all::*;
25
26        #[cfg(feature = "linear")]
27        pub use super::linear::_all::*;
28        #[cfg(feature = "shape")]
29        pub use super::shape::_all::*;
30    }
31    pub(super) mod _internals { #![allow(unused)]
32        pub(crate) use super::metric::_internals::*;
33    }
34    pub(super) mod _all { #![allow(unused)]
35        #[doc(inline)]
36        pub use super::_pub_mods::*;
37    }
38}