disk_based_bfs/
lib.rs

1//! Breadth-first search using hard drive space for storing intermediate data.
2//!
3//! The implementation is efficient, generic, parallel, and can use multiple hard drives. The
4//! algorithm is based on the paper [Minimizing Disk I/O in Two-Bit Breadth-First Search](https://cdn.aaai.org/AAAI/2008/AAAI08-050.pdf)
5//! of Richard Korf, with various improvements. It is suitable for very large implicit graphs
6//! (~10^13 nodes), e.g. the 15 puzzle graph.
7
8#![feature(buf_read_has_data_left)]
9#![feature(once_cell_get_mut)]
10#![deny(clippy::branches_sharing_code)]
11#![deny(clippy::doc_markdown)]
12#![deny(clippy::double_must_use)]
13#![deny(clippy::explicit_into_iter_loop)]
14#![deny(clippy::explicit_iter_loop)]
15#![deny(clippy::flat_map_option)]
16#![deny(clippy::if_not_else)]
17#![deny(clippy::implicit_clone)]
18#![deny(clippy::inconsistent_struct_constructor)]
19#![deny(clippy::iter_not_returning_iterator)]
20#![deny(clippy::iter_with_drain)]
21#![deny(clippy::map_unwrap_or)]
22#![deny(clippy::mod_module_files)]
23#![deny(clippy::needless_pass_by_value)]
24#![deny(clippy::partialeq_to_none)]
25#![deny(clippy::redundant_clone)]
26#![deny(clippy::semicolon_if_nothing_returned)]
27#![deny(clippy::similar_names)]
28#![deny(clippy::unused_trait_names)]
29#![deny(clippy::use_self)]
30#![deny(missing_docs)]
31#![deny(rustdoc::broken_intra_doc_links)]
32#![warn(clippy::must_use_candidate)]
33
34mod bfs;
35pub mod builder;
36pub mod callback;
37mod chunk_buffer_list;
38pub mod expander;
39mod io;
40pub mod provider;
41mod settings;
42mod update;