Skip to main content

aaru/
lib.rs

1#![doc = include_str!("../docs/head.md")]
2#![allow(dead_code)]
3
4#[cfg(feature = "mimalloc")]
5use mimalloc::MiMalloc;
6#[cfg_attr(feature = "mimalloc", global_allocator)]
7#[cfg(feature = "mimalloc")]
8static GLOBAL: MiMalloc = MiMalloc;
9
10#[cfg(feature = "codec")]
11use crate::codec::error::CodecError;
12use crate::geo::error::GeoError;
13#[cfg(feature = "route")]
14use crate::route::error::RouteError;
15#[cfg(feature = "tile")]
16use crate::tile::error::TileError;
17
18#[cfg(feature = "codec")]
19pub mod codec;
20pub mod geo;
21#[cfg(feature = "route")]
22pub mod route;
23#[cfg(feature = "grpc_server")]
24#[doc(hidden)]
25pub mod server;
26#[cfg(feature = "tile")]
27pub mod tile;
28#[doc(hidden)]
29pub mod util;
30
31#[derive(Debug)]
32pub enum Error {
33    #[cfg(feature = "codec")]
34    Codec(CodecError),
35    #[cfg(feature = "route")]
36    Route(RouteError),
37    #[cfg(feature = "tile")]
38    Tile(TileError),
39    Geo(GeoError),
40}
41
42type Result<T> = std::result::Result<T, Error>;
43
44impl_err!(GeoError, Geo);
45#[cfg(feature = "codec")]
46impl_err!(CodecError, Codec);
47#[cfg(feature = "route")]
48impl_err!(RouteError, Route);
49#[cfg(feature = "tile")]
50impl_err!(TileError, Tile);