18#ifndef LOCATION_SERVICE_COM_LOMIRI_LOCATION_UNITS_UNITS_H_
19#define LOCATION_SERVICE_COM_LOMIRI_LOCATION_UNITS_UNITS_H_
21#include <boost/units/cmath.hpp>
22#include <boost/units/io.hpp>
23#include <boost/units/quantity.hpp>
24#include <boost/units/systems/angle/degrees.hpp>
25#include <boost/units/systems/angle/gradians.hpp>
26#include <boost/units/systems/si.hpp>
27#include <boost/units/systems/si/prefixes.hpp>
34#include <boost/optional/optional_io.hpp>
47typedef boost::units::gradian::plane_angle
Gradians;
49typedef boost::units::si::length
Length;
53using boost::units::si::kilo;
59template<
typename Unit>
60using Quantity = boost::units::quantity<Unit, double>;
64using boost::units::sin;
65using boost::units::cos;
66using boost::units::atan2;
68template<
typename Unit>
71 return std::fabs(lhs.value()-rhs.value()) <= std::numeric_limits<double>::epsilon();
static const Velocity MetersPerSecond
boost::units::si::dimensionless Dimensionless
static const Length Meters
static const PlaneAngle Degree
boost::units::gradian::plane_angle Gradians
boost::units::si::velocity Velocity
static const PlaneAngle Degrees
boost::units::quantity< Unit, double > Quantity
boost::units::degree::plane_angle PlaneAngle
static const Length Meter
static const Velocity MeterPerSecond
boost::units::si::length Length
bool roughly_equals(const Quantity< Unit > &lhs, const Quantity< Unit > &rhs)