#include #include #include #include #include #include #include #include namespace boost { namespace units { namespace nautical { struct length_base_unit : base_unit { static std::string name() { return "nautical mile"; } static std::string symbol() { return "nmi"; } }; typedef make_system::type system; typedef unit length; typedef unit dimensionless; static const length mile,miles; } } } BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::nautical::length_base_unit, boost::units::si::meter_base_unit, double, 1.852e3); int main() { using namespace boost::units; typedef quantity TDistanceInNMI; typedef quantity TDimLess; TDistanceInNMI nm1, nm2, nm3; TDimLess d; nm1 = nm2 + nm3; nm1 = d*nm2; nm1 = nm2 + d*nm3; return 0; }