Units.h
Go to the documentation of this file.
1 #pragma once
2 #include <boost/units/base_units/metric/hour.hpp>
3 #include <boost/units/base_units/us/mile.hpp>
4 #include <boost/units/make_scaled_unit.hpp>
5 
7 
8 namespace lanelet {
9 namespace units {
10 using Mile = boost::units::us::mile_base_unit::unit_type;
11 using Meter = boost::units::si::meter_base_unit::unit_type;
12 using Exp3 = boost::units::scale<10, boost::units::static_rational<3> >;
13 using NoUnit = boost::units::si::dimensionless::unit_type;
14 using Kilo = boost::units::make_scaled_unit<NoUnit, Exp3>::type;
15 using Km = boost::units::multiply_typeof_helper<Kilo, Meter>::type;
16 using Second = boost::units::si::second_base_unit::unit_type;
17 using Hour = boost::units::metric::hour_base_unit::unit_type;
18 using MPH = boost::units::divide_typeof_helper<Mile, Hour>::type;
19 using KmH = boost::units::divide_typeof_helper<Km, Hour>::type;
20 
21 using MeterQuantity = boost::units::quantity<Meter>;
22 using SecondQuantity = boost::units::quantity<Second>;
23 using KmHQuantity = boost::units::quantity<KmH>;
24 using MPHQuantity = boost::units::quantity<MPH>;
27 
28 namespace literals {
29 inline Distance operator"" _m(long double d) { return Distance(d * Meter()); }
30 inline Distance operator"" _m(unsigned long long int d) { // NOLINT
31  return Distance(d * Meter());
32 }
33 
34 inline Time operator"" _s(long double s) { return Time(s * Second()); }
35 inline Time operator"" _s(unsigned long long int s) { // NOLINT
36  return Time(s * Second());
37 }
38 
39 inline Velocity operator"" _mps(long double d) { return Velocity{d * MPS()}; }
40 inline Velocity operator"" _mps(unsigned long long int d) { // NOLINT
41  return Velocity{d * MPS()};
42 }
43 inline Velocity operator"" _kmh(long double d) { return Velocity{d * KmH()}; }
44 inline Velocity operator"" _kmh(unsigned long long int d) { // NOLINT
45  return Velocity{d * KmH()};
46 }
47 inline Velocity operator"" _mph(long double d) { return Velocity{d * MPH()}; }
48 inline Velocity operator"" _mph(unsigned long long int d) { // NOLINT
49  return Velocity{d * MPH()};
50 }
51 inline Acceleration operator"" _mps2(long double d) { return Acceleration{d * MPS2()}; }
52 inline Acceleration operator"" _mps2(unsigned long long int d) { // NOLINT
53  return Acceleration{d * MPS2()};
54 }
55 } // namespace literals
56 } // namespace units
57 } // namespace lanelet
lanelet::Velocity
units::MPSQuantity Velocity
Definition: Forward.h:210
lanelet::Acceleration
units::MPS2Quantity Acceleration
Definition: Forward.h:211
lanelet
Definition: Attribute.h:13
lanelet::units::Hour
boost::units::metric::hour_base_unit::unit_type Hour
Definition: Units.h:17
lanelet::units::Km
boost::units::multiply_typeof_helper< Kilo, Meter >::type Km
Definition: Units.h:15
lanelet::units::MPS
boost::units::unit< boost::units::velocity_dimension, boost::units::si::system > MPS
Definition: Forward.h:204
lanelet::units::MPS2
boost::units::unit< boost::units::acceleration_dimension, boost::units::si::system > MPS2
Definition: Forward.h:205
lanelet::units::Kilo
boost::units::make_scaled_unit< NoUnit, Exp3 >::type Kilo
Definition: Units.h:14
lanelet::units::MPHQuantity
boost::units::quantity< MPH > MPHQuantity
Definition: Units.h:24
lanelet::units::KmH
boost::units::divide_typeof_helper< Km, Hour >::type KmH
Definition: Units.h:19
lanelet::units::Exp3
boost::units::scale< 10, boost::units::static_rational< 3 > > Exp3
Definition: Units.h:12
lanelet::units::SecondQuantity
boost::units::quantity< Second > SecondQuantity
Definition: Units.h:22
lanelet::units::KmHQuantity
boost::units::quantity< KmH > KmHQuantity
Definition: Units.h:23
lanelet::units::NoUnit
boost::units::si::dimensionless::unit_type NoUnit
Definition: Units.h:13
lanelet::units::MeterQuantity
boost::units::quantity< Meter > MeterQuantity
Definition: Units.h:21
lanelet::units::Mile
boost::units::us::mile_base_unit::unit_type Mile
Definition: Units.h:10
lanelet::units::Meter
boost::units::si::meter_base_unit::unit_type Meter
Definition: Units.h:11
lanelet::units::Distance
MeterQuantity Distance
Definition: Units.h:25
lanelet::units::MPH
boost::units::divide_typeof_helper< Mile, Hour >::type MPH
Definition: Units.h:18
lanelet::units::Time
SecondQuantity Time
Definition: Units.h:26
lanelet::units::Second
boost::units::si::second_base_unit::unit_type Second
Definition: Units.h:16
d
double d
Definition: RegulatoryElementGeometry.cpp:69
Forward.h


lanelet2_core
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:25:52