1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//! A library for parsing TSPLIB file formats.
//!
//! The original [documentation](http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/) for TSPLIB
//! can be found in the website of Ruprecht-Karls-Universität Heidelberg.

/// Macro for implementing trait Display for Enums.
#[macro_use]
macro_rules! impl_disp_enum {
    ($enm:ident) => {
        impl std::fmt::Display for $enm {
            fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
                write!(f, "{:?}", self)
            }
        }
    };
}

mod error;
pub use error::ParseTspError;

pub mod metric;

mod tsp;
pub use tsp::CoordKind;
pub use tsp::DisplayKind;
pub use tsp::EdgeFormat;
pub use tsp::Point;
pub use tsp::Tsp;
pub use tsp::TspBuilder;
pub use tsp::TspKind;
pub use tsp::WeightFormat;
pub use tsp::WeightKind;

mod tests;