#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
#[cfg(all(not(feature = "std"), not(feature = "libm")))]
compile_error!(
"`no_std`環境では`libm`フィーチャーが必要です。\
Cargo.tomlで `jismeshcode = { version = \"0.3\", default-features = false, features = [\"libm\"] }` を指定してください。"
);
extern crate alloc;
pub mod convert;
pub mod error;
pub mod operations;
pub mod spatial;
pub mod types;
pub mod utils;
pub mod prelude;
pub use convert::{coord_to_mesh, mesh_to_bounds, mesh_to_center};
pub use error::{CoordinateError, MeshCodeError, Result};
pub use operations::{bounds, center, children, contains, neighbor, neighbors, parent, to_level};
pub use spatial::{
mesh_codes_in_bbox, mesh_codes_in_radius, mesh_codes_in_radius_from_mesh, MeshCodeIterator,
MeshCodeRadiusIterator,
};
pub use types::{BoundingBox, Coordinate, Direction, MeshCode, MeshLevel};
pub use utils::distance::haversine_distance;