1#![crate_type = "lib"]
17#![doc(
18 html_logo_url = "https://raw.githubusercontent.com/FL03/rshyper/main/.artifacts/assets/logo.svg",
19 html_favicon_url = "https://raw.githubusercontent.com/FL03/rshyper/main/.artifacts/assets/logo.svg"
20)]
21#![allow(
22 clippy::missing_safety_doc,
23 clippy::module_inception,
24 clippy::needless_doctest_main,
25 clippy::non_canonical_clone_impl,
26 clippy::non_canonical_partial_ord_impl,
27 clippy::should_implement_trait
28)]
29#![cfg_attr(not(feature = "std"), no_std)]
30#![cfg_attr(feature = "nightly", feature(allocator_api))]
31
32#[cfg(feature = "alloc")]
33extern crate alloc;
34
35extern crate rshyper_core as rshyper;
36
37#[macro_use]
38pub(crate) mod macros {
39 #[macro_use]
40 pub mod seal;
41}
42
43#[doc(inline)]
44pub use self::traits::prelude::*;
45#[cfg(feature = "std")]
46pub use self::{
47 astar::AStarSearch, breadth_first::BreadthFirstTraversal, depth_first::DepthFirstTraversal,
48 dijkstra::Dijkstra,
49};
50
51#[cfg(feature = "std")]
52pub mod astar;
53#[cfg(feature = "std")]
54pub mod breadth_first;
56#[cfg(feature = "std")]
57pub mod depth_first;
59#[cfg(feature = "std")]
60pub mod dijkstra;
62
63pub mod error;
64
65pub mod traits {
66 #[doc(inline)]
69 pub use self::prelude::*;
70 mod heuristic;
72 mod operators;
75 mod path;
77 mod search;
80 mod traverse;
82
83 pub(crate) mod prelude {
84 #[doc(inline)]
85 pub use super::heuristic::*;
86 #[doc(inline)]
87 pub use super::operators::*;
88 #[doc(inline)]
89 pub use super::path::*;
90 #[doc(inline)]
91 pub use super::search::*;
92 #[doc(inline)]
93 pub use super::traverse::*;
94 }
95}
96
97#[doc(hidden)]
98pub mod prelude {
99 pub use crate::traits::prelude::*;
100
101 #[cfg(feature = "alloc")]
102 pub use crate::astar::AStarSearch;
103 #[cfg(feature = "alloc")]
104 pub use crate::breadth_first::BreadthFirstTraversal;
105 #[cfg(feature = "alloc")]
106 pub use crate::depth_first::DepthFirstTraversal;
107 #[cfg(feature = "alloc")]
108 pub use crate::dijkstra::Dijkstra;
109}