1#![crate_type = "lib"]
18#![doc(
19    html_logo_url = "https://raw.githubusercontent.com/FL03/rshyper/main/.artifacts/assets/logo.svg",
20    html_favicon_url = "https://raw.githubusercontent.com/FL03/rshyper/main/.artifacts/assets/logo.svg"
21)]
22#![allow(
23    clippy::should_implement_trait,
24    clippy::module_inception,
25    clippy::missing_safety_doc
26)]
27#![cfg_attr(not(feature = "std"), no_std)]
28#![cfg_attr(feature = "nightly", feature(allocator_api))]
29#[cfg(feature = "alloc")]
30extern crate alloc;
31
32#[macro_use]
33pub(crate) mod macros {
34    #[macro_use]
35    pub mod seal;
36}
37
38#[doc(inline)]
39pub use self::{
40    attrs::{Attrs, GraphProps},
41    edge::Edge,
42    error::{Error, Result},
43    idx::prelude::*,
44    node::Node,
45    rel::{Link, RawLayout},
46    traits::prelude::*,
47    types::*,
48    weight::prelude::*,
49};
50
51pub mod attrs;
52pub mod edge;
53pub mod error;
54pub mod idx;
55pub mod node;
56pub mod rel;
57pub mod weight;
58
59pub mod traits {
60    #[doc(inline)]
63    pub use self::prelude::*;
64    mod contains;
66    mod domain;
69    #[cfg(feature = "alloc")]
72    mod hyper_graph;
73    mod merge;
75    mod step;
77    mod transform;
80
81    pub(crate) mod prelude {
82        #[doc(inline)]
83        pub use super::contains::*;
84        #[doc(inline)]
85        pub use super::domain::*;
86        #[doc(inline)]
87        #[cfg(feature = "alloc")]
88        pub use super::hyper_graph::*;
89        #[doc(inline)]
90        pub use super::merge::*;
91        #[doc(inline)]
92        pub use super::step::*;
93        #[doc(inline)]
94        pub use super::transform::*;
95    }
96}
97
98pub mod types {
99    #[doc(inline)]
101    pub use self::prelude::*;
102    mod graph_kind;
104
105    pub(crate) mod prelude {
106        #[doc(inline)]
107        pub use super::graph_kind::*;
108    }
109}
110
111pub mod prelude {
112    pub use crate::attrs::prelude::*;
115    pub use crate::edge::prelude::*;
116    pub use crate::idx::prelude::*;
117    pub use crate::node::prelude::*;
118    pub use crate::rel::prelude::*;
119    pub use crate::traits::prelude::*;
120    pub use crate::types::prelude::*;
121    pub use crate::weight::prelude::*;
122}