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}