//! A module for data structures.

mod beam;
mod hashable_state;
mod search_node;
mod state_registry;
mod successor_generator;
mod transition;
mod transition_chain;
mod transition_mutex;
mod util;

pub use beam::{Beam, BeamDrain};
pub use hashable_state::{
    HashableSignatureVariables, HashableState, StateWithHashableSignatureVariables,
};
pub use search_node::{BfsNode, CostNode, CustomFNode, FNode, WeightedFNode};
pub use state_registry::{StateInRegistry, StateInformation, StateRegistry};
pub use successor_generator::{ApplicableTransitions, SuccessorGenerator};
pub use transition::{TransitionWithCustomCost, TransitionWithId};
pub use transition_chain::{GetTransitions, RcChain, TransitionChain};
pub use transition_mutex::TransitionMutex;
pub use util::exceed_bound;
