From f7405be0b2804ebfd664ee2534155e1c7c904fce Mon Sep 17 00:00:00 2001 From: E Kawashima Date: Mon, 23 Jul 2018 20:57:22 +0900 Subject: [PATCH 1/3] implement boost/units/systems/single_unit_system.hpp --- .../units/systems/single_unit_system.hpp | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 include/boost/units/systems/single_unit_system.hpp diff --git a/include/boost/units/systems/single_unit_system.hpp b/include/boost/units/systems/single_unit_system.hpp new file mode 100644 index 00000000..9a7936da --- /dev/null +++ b/include/boost/units/systems/single_unit_system.hpp @@ -0,0 +1,36 @@ +// Boost.Units - A C++ library for zero-overhead dimensional analysis and +// unit/quantity manipulation and conversion +// +// Copyright (C) 2018 Eisuke Kawashima +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_UNITS_SINGLE_UNIT_SYSTEM_HPP +#define BOOST_UNITS_SINGLE_UNIT_SYSTEM_HPP + +/** +\file + +\brief single_unit_systems.cpp + +\details +Enable to define various non-si units +**/ + +#include + +#define BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(namespace_,unit_name_,dimension_) \ +namespace boost { \ +namespace units { \ +namespace namespace_ { \ +typedef make_system::type unit_name_ ## system_; \ +typedef unit unit_name_ ## _ ## dimension_; \ +static BOOST_CONSTEXPR unit_name_ ## _ ## dimension_ unit_name_; \ +static BOOST_CONSTEXPR unit_name_ ## _ ## dimension_ unit_name_ ## s; \ +} \ +} \ +} + +#endif // BOOST_UNITS_SINGLE_UNIT_SYSTEM_HPP From e8286f15929f57972c0092119a49a680930f82d4 Mon Sep 17 00:00:00 2001 From: E Kawashima Date: Mon, 23 Jul 2018 19:40:25 +0900 Subject: [PATCH 2/3] enable to use non-SI units - angle::arcminute - angle::arcsecond - angle::degree - angle::gradian - angle::radian - angle::revolution - angle::steradian - astronomical::astronomical_unit - astronomical::light_day - astronomical::light_hour - astronomical::light_minute - astronomical::light_second - astronomical::light_year - astronomical::parsec - imperial::drachm - imperial::fluid_ounce - imperial::foot - imperial::furlong - imperial::gallon - imperial::gill - imperial::grain - imperial::hundredweight - imperial::inch - imperial::league - imperial::mile - imperial::ounce - imperial::pint - imperial::pound - imperial::quart - imperial::quarter - imperial::stone - imperial::thou - imperial::ton - imperial::yard - metric::angstrom - metric::are - metric::atmosphere - metric::bar - metric::barn - metric::day - metric::fermi - metric::hectare - metric::hour - metric::knot - metric::liter - metric::micron - metric::minute - metric::mmHg - metric::nautical_mile - metric::ton - metric::torr - metric::year - us::cup - us::dram - us::fluid_dram - us::fluid_ounce - us::foot - us::gallon - us::gill - us::grain - us::hundredweight - us::inch - us::mil - us::mile - us::minim - us::ounce - us::pint - us::pound - us::pound_force - us::quart - us::tablespoon - us::teaspoon - us::ton - us::yard --- include/boost/units/base_units/angle/arcminute.hpp | 3 +++ include/boost/units/base_units/angle/arcsecond.hpp | 3 +++ include/boost/units/base_units/angle/degree.hpp | 3 +++ include/boost/units/base_units/angle/gradian.hpp | 2 ++ include/boost/units/base_units/angle/radian.hpp | 3 +++ include/boost/units/base_units/angle/revolution.hpp | 3 +++ include/boost/units/base_units/angle/steradian.hpp | 3 +++ .../boost/units/base_units/astronomical/astronomical_unit.hpp | 3 +++ include/boost/units/base_units/astronomical/light_day.hpp | 3 +++ include/boost/units/base_units/astronomical/light_hour.hpp | 3 +++ include/boost/units/base_units/astronomical/light_minute.hpp | 3 +++ include/boost/units/base_units/astronomical/light_second.hpp | 3 +++ include/boost/units/base_units/astronomical/light_year.hpp | 3 +++ include/boost/units/base_units/astronomical/parsec.hpp | 3 +++ include/boost/units/base_units/imperial/drachm.hpp | 3 +++ include/boost/units/base_units/imperial/fluid_ounce.hpp | 3 +++ include/boost/units/base_units/imperial/foot.hpp | 3 +++ include/boost/units/base_units/imperial/furlong.hpp | 3 +++ include/boost/units/base_units/imperial/gallon.hpp | 3 +++ include/boost/units/base_units/imperial/gill.hpp | 3 +++ include/boost/units/base_units/imperial/grain.hpp | 3 +++ include/boost/units/base_units/imperial/hundredweight.hpp | 3 +++ include/boost/units/base_units/imperial/inch.hpp | 3 +++ include/boost/units/base_units/imperial/league.hpp | 3 +++ include/boost/units/base_units/imperial/mile.hpp | 3 +++ include/boost/units/base_units/imperial/ounce.hpp | 3 +++ include/boost/units/base_units/imperial/pint.hpp | 3 +++ include/boost/units/base_units/imperial/pound.hpp | 3 +++ include/boost/units/base_units/imperial/quart.hpp | 3 +++ include/boost/units/base_units/imperial/quarter.hpp | 3 +++ include/boost/units/base_units/imperial/stone.hpp | 3 +++ include/boost/units/base_units/imperial/thou.hpp | 3 +++ include/boost/units/base_units/imperial/ton.hpp | 3 +++ include/boost/units/base_units/imperial/yard.hpp | 3 +++ include/boost/units/base_units/metric/angstrom.hpp | 3 +++ include/boost/units/base_units/metric/are.hpp | 2 ++ include/boost/units/base_units/metric/atmosphere.hpp | 2 ++ include/boost/units/base_units/metric/bar.hpp | 2 ++ include/boost/units/base_units/metric/barn.hpp | 2 ++ include/boost/units/base_units/metric/day.hpp | 3 +++ include/boost/units/base_units/metric/fermi.hpp | 3 +++ include/boost/units/base_units/metric/hectare.hpp | 2 ++ include/boost/units/base_units/metric/hour.hpp | 3 +++ include/boost/units/base_units/metric/knot.hpp | 2 ++ include/boost/units/base_units/metric/liter.hpp | 2 ++ include/boost/units/base_units/metric/micron.hpp | 3 +++ include/boost/units/base_units/metric/minute.hpp | 3 +++ include/boost/units/base_units/metric/mmHg.hpp | 2 ++ include/boost/units/base_units/metric/nautical_mile.hpp | 3 +++ include/boost/units/base_units/metric/ton.hpp | 3 +++ include/boost/units/base_units/metric/torr.hpp | 2 ++ include/boost/units/base_units/metric/year.hpp | 3 +++ include/boost/units/base_units/us/cup.hpp | 3 +++ include/boost/units/base_units/us/dram.hpp | 3 +++ include/boost/units/base_units/us/fluid_dram.hpp | 3 +++ include/boost/units/base_units/us/fluid_ounce.hpp | 3 +++ include/boost/units/base_units/us/foot.hpp | 3 +++ include/boost/units/base_units/us/gallon.hpp | 3 +++ include/boost/units/base_units/us/gill.hpp | 3 +++ include/boost/units/base_units/us/grain.hpp | 3 +++ include/boost/units/base_units/us/hundredweight.hpp | 3 +++ include/boost/units/base_units/us/inch.hpp | 3 +++ include/boost/units/base_units/us/mil.hpp | 3 +++ include/boost/units/base_units/us/mile.hpp | 3 +++ include/boost/units/base_units/us/minim.hpp | 3 +++ include/boost/units/base_units/us/ounce.hpp | 3 +++ include/boost/units/base_units/us/pint.hpp | 3 +++ include/boost/units/base_units/us/pound.hpp | 3 +++ include/boost/units/base_units/us/pound_force.hpp | 3 +++ include/boost/units/base_units/us/quart.hpp | 3 +++ include/boost/units/base_units/us/tablespoon.hpp | 3 +++ include/boost/units/base_units/us/teaspoon.hpp | 3 +++ include/boost/units/base_units/us/ton.hpp | 3 +++ include/boost/units/base_units/us/yard.hpp | 3 +++ 74 files changed, 212 insertions(+) diff --git a/include/boost/units/base_units/angle/arcminute.hpp b/include/boost/units/base_units/angle/arcminute.hpp index 27570fbb..3d851f32 100644 --- a/include/boost/units/base_units/angle/arcminute.hpp +++ b/include/boost/units/base_units/angle/arcminute.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -33,4 +34,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, arcminute, plane_angle) + #endif // BOOST_UNIT_BASE_UNITS_ANGLE_ARCMINUTE_HPP_INCLUDED diff --git a/include/boost/units/base_units/angle/arcsecond.hpp b/include/boost/units/base_units/angle/arcsecond.hpp index 97851ffb..3a7f8954 100644 --- a/include/boost/units/base_units/angle/arcsecond.hpp +++ b/include/boost/units/base_units/angle/arcsecond.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -34,4 +35,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, arcsecond, plane_angle) + #endif // BOOST_UNIT_SYSTEMS_ANGLE_ARCSECOND_HPP_INCLUDED diff --git a/include/boost/units/base_units/angle/degree.hpp b/include/boost/units/base_units/angle/degree.hpp index 63edb70e..8b915dbe 100644 --- a/include/boost/units/base_units/angle/degree.hpp +++ b/include/boost/units/base_units/angle/degree.hpp @@ -13,6 +13,7 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(angle,degree,"degree","deg",6.28318530718/360.,boost::units::angle::radian_base_unit,-101); @@ -24,4 +25,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::degree_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, degree, plane_angle) + #endif // BOOST_UNITS_ANGLE_DEGREE_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/angle/gradian.hpp b/include/boost/units/base_units/angle/gradian.hpp index 7b291b46..12d5b6f8 100644 --- a/include/boost/units/base_units/angle/gradian.hpp +++ b/include/boost/units/base_units/angle/gradian.hpp @@ -13,6 +13,7 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(angle,gradian,"gradian","grad",6.28318530718/400.,boost::units::angle::radian_base_unit,-102); @@ -23,5 +24,6 @@ BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(angle,gradian,"gradian","grad",6.2 BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::gradian_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, gradian, plane_angle) #endif // BOOST_UNITS_ANGLE_GRADIAN_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/angle/radian.hpp b/include/boost/units/base_units/angle/radian.hpp index f2b56673..3940e1bd 100644 --- a/include/boost/units/base_units/angle/radian.hpp +++ b/include/boost/units/base_units/angle/radian.hpp @@ -16,6 +16,7 @@ #include #include #include +#include namespace boost { @@ -45,4 +46,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::radian_base_unit) //#include +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, radian, plane_angle) + #endif // BOOST_UNITS_ANGLE_RADIAN_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/angle/revolution.hpp b/include/boost/units/base_units/angle/revolution.hpp index 3d576286..1371dd22 100644 --- a/include/boost/units/base_units/angle/revolution.hpp +++ b/include/boost/units/base_units/angle/revolution.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -33,4 +34,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, revolution, plane_angle) + #endif // BOOST_UNITS_BASE_UNITS_REVOLUTION_HPP diff --git a/include/boost/units/base_units/angle/steradian.hpp b/include/boost/units/base_units/angle/steradian.hpp index 5e8c5bda..176df2f0 100644 --- a/include/boost/units/base_units/angle/steradian.hpp +++ b/include/boost/units/base_units/angle/steradian.hpp @@ -16,6 +16,7 @@ #include #include #include +#include namespace boost { @@ -45,4 +46,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::steradian_base_unit) //#include +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle, steradian, solid_angle) + #endif // BOOST_UNITS_ANGLE_STERADIAN_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/astronomical/astronomical_unit.hpp b/include/boost/units/base_units/astronomical/astronomical_unit.hpp index 4b1640d9..5e7d6559 100644 --- a/include/boost/units/base_units/astronomical/astronomical_unit.hpp +++ b/include/boost/units/base_units/astronomical/astronomical_unit.hpp @@ -13,6 +13,7 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(astronomical, astronomical_unit, "astronomical unit", "a.u.", 149597870691.0, boost::units::si::meter_base_unit, -207); @@ -24,4 +25,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::astronomical::astronomical_unit_base_un #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, astronomical_unit, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_ASTRONOMICAL_UNIT_HPP_INCLUDED diff --git a/include/boost/units/base_units/astronomical/light_day.hpp b/include/boost/units/base_units/astronomical/light_day.hpp index a0ad93be..2102a019 100644 --- a/include/boost/units/base_units/astronomical/light_day.hpp +++ b/include/boost/units/base_units/astronomical/light_day.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, light_day, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_DAY_HPP_INCLUDED diff --git a/include/boost/units/base_units/astronomical/light_hour.hpp b/include/boost/units/base_units/astronomical/light_hour.hpp index 91bc09a2..0747a093 100644 --- a/include/boost/units/base_units/astronomical/light_hour.hpp +++ b/include/boost/units/base_units/astronomical/light_hour.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, light_hour, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_HOUR_HPP_INCLUDED diff --git a/include/boost/units/base_units/astronomical/light_minute.hpp b/include/boost/units/base_units/astronomical/light_minute.hpp index 6301745c..5b820e4e 100644 --- a/include/boost/units/base_units/astronomical/light_minute.hpp +++ b/include/boost/units/base_units/astronomical/light_minute.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, light_minute, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_MINUTE_HPP_INCLUDED diff --git a/include/boost/units/base_units/astronomical/light_second.hpp b/include/boost/units/base_units/astronomical/light_second.hpp index 555a315f..e8d978a2 100644 --- a/include/boost/units/base_units/astronomical/light_second.hpp +++ b/include/boost/units/base_units/astronomical/light_second.hpp @@ -13,6 +13,7 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(astronomical, light_second, "light second", "lsc", 2.99792458e8, boost::units::si::meter_base_unit, -201); @@ -24,4 +25,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::astronomical::light_second_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, light_second, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_SECOND_HPP_INCLUDED diff --git a/include/boost/units/base_units/astronomical/light_year.hpp b/include/boost/units/base_units/astronomical/light_year.hpp index f3434a79..3ddc4a12 100644 --- a/include/boost/units/base_units/astronomical/light_year.hpp +++ b/include/boost/units/base_units/astronomical/light_year.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, light_year, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_YEAR_HPP_INCLUDED diff --git a/include/boost/units/base_units/astronomical/parsec.hpp b/include/boost/units/base_units/astronomical/parsec.hpp index dd116e55..3af51af7 100644 --- a/include/boost/units/base_units/astronomical/parsec.hpp +++ b/include/boost/units/base_units/astronomical/parsec.hpp @@ -13,6 +13,7 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(astronomical, parsec, "parsec", "psc", 3.0856775813e16, boost::units::si::meter_base_unit, -206); @@ -24,4 +25,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::astronomical::parsec_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical, parsec, length) + #endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_PARSEC_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/drachm.hpp b/include/boost/units/base_units/imperial/drachm.hpp index b965040c..cd73dddb 100644 --- a/include/boost/units/base_units/imperial/drachm.hpp +++ b/include/boost/units/base_units/imperial/drachm.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, drachm, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_DRACHM_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/fluid_ounce.hpp b/include/boost/units/base_units/imperial/fluid_ounce.hpp index b318fb2c..572c4ee4 100644 --- a/include/boost/units/base_units/imperial/fluid_ounce.hpp +++ b/include/boost/units/base_units/imperial/fluid_ounce.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, fluid_ounce, volume) + #endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_FLUID_OUNCE_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/foot.hpp b/include/boost/units/base_units/imperial/foot.hpp index 429c77c7..510c7755 100644 --- a/include/boost/units/base_units/imperial/foot.hpp +++ b/include/boost/units/base_units/imperial/foot.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, foot, length) + #endif // BOOST_UNITS_IMPERIAL_FOOT_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/imperial/furlong.hpp b/include/boost/units/base_units/imperial/furlong.hpp index 8851f2c0..22b9bd53 100644 --- a/include/boost/units/base_units/imperial/furlong.hpp +++ b/include/boost/units/base_units/imperial/furlong.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, furlong, length) + #endif // BOOST_UNITS_IMPERIAL_FURLONG_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/imperial/gallon.hpp b/include/boost/units/base_units/imperial/gallon.hpp index c0e15136..3b796e9a 100644 --- a/include/boost/units/base_units/imperial/gallon.hpp +++ b/include/boost/units/base_units/imperial/gallon.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -37,4 +38,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, gallon, volume) + #endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_GALLON_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/gill.hpp b/include/boost/units/base_units/imperial/gill.hpp index 353a46b4..4f226e1a 100644 --- a/include/boost/units/base_units/imperial/gill.hpp +++ b/include/boost/units/base_units/imperial/gill.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -37,4 +38,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, gill, volume) + #endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_GILL_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/grain.hpp b/include/boost/units/base_units/imperial/grain.hpp index 7567f991..6ccea6fb 100644 --- a/include/boost/units/base_units/imperial/grain.hpp +++ b/include/boost/units/base_units/imperial/grain.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, grain, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_GRAIN_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/hundredweight.hpp b/include/boost/units/base_units/imperial/hundredweight.hpp index 8f03763f..1889c023 100644 --- a/include/boost/units/base_units/imperial/hundredweight.hpp +++ b/include/boost/units/base_units/imperial/hundredweight.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, hundredweight, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_HUNDREDWEIGHT_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/inch.hpp b/include/boost/units/base_units/imperial/inch.hpp index d39c3323..d8d07169 100644 --- a/include/boost/units/base_units/imperial/inch.hpp +++ b/include/boost/units/base_units/imperial/inch.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, inch, length) + #endif // BOOST_UNITS_IMPERIAL_INCH_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/imperial/league.hpp b/include/boost/units/base_units/imperial/league.hpp index 87c0cfb5..3dd1ffe7 100644 --- a/include/boost/units/base_units/imperial/league.hpp +++ b/include/boost/units/base_units/imperial/league.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, league, length) + #endif // BOOST_UNITS_IMPERIAL_LEAGUE_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/imperial/mile.hpp b/include/boost/units/base_units/imperial/mile.hpp index 230537f5..7dbbe2e0 100644 --- a/include/boost/units/base_units/imperial/mile.hpp +++ b/include/boost/units/base_units/imperial/mile.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, mile, length) + #endif // BOOST_UNITS_IMPERIAL_MILE_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/imperial/ounce.hpp b/include/boost/units/base_units/imperial/ounce.hpp index 05bfcc15..268f20a4 100644 --- a/include/boost/units/base_units/imperial/ounce.hpp +++ b/include/boost/units/base_units/imperial/ounce.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, ounce, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_OUNCE_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/pint.hpp b/include/boost/units/base_units/imperial/pint.hpp index 1a1440f9..b8829fc9 100644 --- a/include/boost/units/base_units/imperial/pint.hpp +++ b/include/boost/units/base_units/imperial/pint.hpp @@ -15,6 +15,7 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(imperial, pint, "pint (imp.)", "pt", 4.54609e-3/8., si::volume, -303); // exact conversion @@ -26,4 +27,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::imperial::pint_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, pint, volume) + #endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/pound.hpp b/include/boost/units/base_units/imperial/pound.hpp index c586e6d0..59257183 100644 --- a/include/boost/units/base_units/imperial/pound.hpp +++ b/include/boost/units/base_units/imperial/pound.hpp @@ -18,6 +18,7 @@ #include #include #include +#include // can't define in terms of kilogram because it is a scaled_base_unit //BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(imperial, pound, "pound", "lb", 0.45359237, si::kilogram_base_unit, -302); // exact conversion @@ -31,4 +32,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::imperial::pound_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, pound, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_POUND_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/quart.hpp b/include/boost/units/base_units/imperial/quart.hpp index f4c0a009..1768bf39 100644 --- a/include/boost/units/base_units/imperial/quart.hpp +++ b/include/boost/units/base_units/imperial/quart.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -37,4 +38,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, quart, volume) + #endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_QUART_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/quarter.hpp b/include/boost/units/base_units/imperial/quarter.hpp index 912d51d7..f102c2db 100644 --- a/include/boost/units/base_units/imperial/quarter.hpp +++ b/include/boost/units/base_units/imperial/quarter.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, quarter, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_QUARTER_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/stone.hpp b/include/boost/units/base_units/imperial/stone.hpp index 1b260a29..88786fdf 100644 --- a/include/boost/units/base_units/imperial/stone.hpp +++ b/include/boost/units/base_units/imperial/stone.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, stone, mass) + #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_STONE_HPP_INCLUDED diff --git a/include/boost/units/base_units/imperial/thou.hpp b/include/boost/units/base_units/imperial/thou.hpp index af1f911e..13e5c5e9 100644 --- a/include/boost/units/base_units/imperial/thou.hpp +++ b/include/boost/units/base_units/imperial/thou.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, thou, length) + #endif // BOOST_UNITS_IMPERIAL_THOU_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/imperial/ton.hpp b/include/boost/units/base_units/imperial/ton.hpp index a1f709ec..cc0e5a62 100644 --- a/include/boost/units/base_units/imperial/ton.hpp +++ b/include/boost/units/base_units/imperial/ton.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -38,3 +39,5 @@ struct base_unit_info { #endif // BOOST_UNIT_SYSTEMS_IMPERIAL_TON_HPP_INCLUDED +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, ton, mass) + diff --git a/include/boost/units/base_units/imperial/yard.hpp b/include/boost/units/base_units/imperial/yard.hpp index d15b99d0..c8cfc89c 100644 --- a/include/boost/units/base_units/imperial/yard.hpp +++ b/include/boost/units/base_units/imperial/yard.hpp @@ -18,6 +18,7 @@ #include #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(imperial, yard, "yard", "yd", 0.9144, si::meter_base_unit, -301); // exact conversion @@ -29,4 +30,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::imperial::yard_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial, yard, length) + #endif // BOOST_UNITS_SYSTEMS_IMPERIAL_YARD_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/metric/angstrom.hpp b/include/boost/units/base_units/metric/angstrom.hpp index 64cc3379..83ad60f5 100644 --- a/include/boost/units/base_units/metric/angstrom.hpp +++ b/include/boost/units/base_units/metric/angstrom.hpp @@ -16,6 +16,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -34,4 +35,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, angstrom, length) + #endif // BOOST_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/are.hpp b/include/boost/units/base_units/metric/are.hpp index bd697f43..3ebe0668 100644 --- a/include/boost/units/base_units/metric/are.hpp +++ b/include/boost/units/base_units/metric/are.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, are, "are", "a", 1.0e2, si::area, 10); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, are, area) #endif // BOOST_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/atmosphere.hpp b/include/boost/units/base_units/metric/atmosphere.hpp index b714e90d..82197e52 100644 --- a/include/boost/units/base_units/metric/atmosphere.hpp +++ b/include/boost/units/base_units/metric/atmosphere.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, atmosphere, "atmosphere", "atm", 1.01325e5, si::pressure, 33); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, atmosphere, pressure) #endif // BOOST_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/bar.hpp b/include/boost/units/base_units/metric/bar.hpp index 682d54ff..07364d6f 100644 --- a/include/boost/units/base_units/metric/bar.hpp +++ b/include/boost/units/base_units/metric/bar.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, bar, "bar", "bar", 1.0e5, si::pressure, 14); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, bar, pressure) #endif // BOOST_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/barn.hpp b/include/boost/units/base_units/metric/barn.hpp index ae2b28ca..890aa1cd 100644 --- a/include/boost/units/base_units/metric/barn.hpp +++ b/include/boost/units/base_units/metric/barn.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, barn, "barn", "b", 1.0e-28, si::area, 11); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, barn, area) #endif // BOOST_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/day.hpp b/include/boost/units/base_units/metric/day.hpp index ac111c9e..d7e0ab5a 100644 --- a/include/boost/units/base_units/metric/day.hpp +++ b/include/boost/units/base_units/metric/day.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, day, time) + #endif diff --git a/include/boost/units/base_units/metric/fermi.hpp b/include/boost/units/base_units/metric/fermi.hpp index f12c903f..fe6d7ee7 100644 --- a/include/boost/units/base_units/metric/fermi.hpp +++ b/include/boost/units/base_units/metric/fermi.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -33,4 +34,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, fermi, length) + #endif // BOOST_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/hectare.hpp b/include/boost/units/base_units/metric/hectare.hpp index 476b0fc7..dd3e10fc 100644 --- a/include/boost/units/base_units/metric/hectare.hpp +++ b/include/boost/units/base_units/metric/hectare.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, hectare, "hectare", "ha", 1.0e4, si::area, 12); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, hectare, area) #endif // BOOST_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/hour.hpp b/include/boost/units/base_units/metric/hour.hpp index 65657ce0..5921d251 100644 --- a/include/boost/units/base_units/metric/hour.hpp +++ b/include/boost/units/base_units/metric/hour.hpp @@ -16,6 +16,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -34,4 +35,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, hour, time) + #endif // BOOST_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/knot.hpp b/include/boost/units/base_units/metric/knot.hpp index 6b85e6e8..f232ea96 100644 --- a/include/boost/units/base_units/metric/knot.hpp +++ b/include/boost/units/base_units/metric/knot.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, knot, "knot", "kt", 1852./3600., boost::units::si::velocity, -403); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, knot, velocity) #endif // BOOST_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/liter.hpp b/include/boost/units/base_units/metric/liter.hpp index da901759..810096bb 100644 --- a/include/boost/units/base_units/metric/liter.hpp +++ b/include/boost/units/base_units/metric/liter.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, liter, "liter", "L", 1.0e-3, si::volume, 13); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, liter, volume) #endif // BOOST_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/micron.hpp b/include/boost/units/base_units/metric/micron.hpp index c169cfdb..f2a6ffb6 100644 --- a/include/boost/units/base_units/metric/micron.hpp +++ b/include/boost/units/base_units/metric/micron.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -33,4 +34,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, micron, length) + #endif // BOOST_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/minute.hpp b/include/boost/units/base_units/metric/minute.hpp index 3c0a68fc..a98b36c6 100644 --- a/include/boost/units/base_units/metric/minute.hpp +++ b/include/boost/units/base_units/metric/minute.hpp @@ -16,6 +16,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -34,4 +35,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, minute, time) + #endif // BOOST_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/mmHg.hpp b/include/boost/units/base_units/metric/mmHg.hpp index 93e38695..1c806311 100644 --- a/include/boost/units/base_units/metric/mmHg.hpp +++ b/include/boost/units/base_units/metric/mmHg.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, mmHg, "millimeters mercury", "mmHg", 133.322, si::pressure, -404); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, mmHg, pressure) #endif // BOOST_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/nautical_mile.hpp b/include/boost/units/base_units/metric/nautical_mile.hpp index 4f20951a..a8f417b8 100644 --- a/include/boost/units/base_units/metric/nautical_mile.hpp +++ b/include/boost/units/base_units/metric/nautical_mile.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { namespace units { @@ -33,4 +34,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, nautical_mile, length) + #endif // BOOST_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/ton.hpp b/include/boost/units/base_units/metric/ton.hpp index 4f8e9643..520bbf06 100644 --- a/include/boost/units/base_units/metric/ton.hpp +++ b/include/boost/units/base_units/metric/ton.hpp @@ -17,6 +17,7 @@ #include #include //#include +#include namespace boost { namespace units { @@ -36,4 +37,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, ton, mass) + #endif // BOOST_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED diff --git a/include/boost/units/base_units/metric/torr.hpp b/include/boost/units/base_units/metric/torr.hpp index 08fd29a5..b9174c24 100644 --- a/include/boost/units/base_units/metric/torr.hpp +++ b/include/boost/units/base_units/metric/torr.hpp @@ -13,7 +13,9 @@ #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, torr, "torr", "Torr", 1.01325e5/760.0, si::pressure, -401); +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, torr, pressure) #endif diff --git a/include/boost/units/base_units/metric/year.hpp b/include/boost/units/base_units/metric/year.hpp index 5d715e2d..93c51303 100644 --- a/include/boost/units/base_units/metric/year.hpp +++ b/include/boost/units/base_units/metric/year.hpp @@ -15,6 +15,7 @@ #include #include #include +#include // Julian year = 365.25 days exactly = 8766 hours exactly @@ -35,4 +36,6 @@ struct base_unit_info { } } +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric, year, time) + #endif diff --git a/include/boost/units/base_units/us/cup.hpp b/include/boost/units/base_units/us/cup.hpp index 86b40832..787b3793 100644 --- a/include/boost/units/base_units/us/cup.hpp +++ b/include/boost/units/base_units/us/cup.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, cup, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_CUP_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/dram.hpp b/include/boost/units/base_units/us/dram.hpp index 29e08d9e..2ecad635 100644 --- a/include/boost/units/base_units/us/dram.hpp +++ b/include/boost/units/base_units/us/dram.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, dram, mass) + #endif // BOOST_UNIT_BASE_UNITS_US_DRAM_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/fluid_dram.hpp b/include/boost/units/base_units/us/fluid_dram.hpp index 0b9c60d7..1c319ac5 100644 --- a/include/boost/units/base_units/us/fluid_dram.hpp +++ b/include/boost/units/base_units/us/fluid_dram.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, fluid_dram, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_FLUID_DRAM_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/fluid_ounce.hpp b/include/boost/units/base_units/us/fluid_ounce.hpp index c7f0f07e..d3ef860c 100644 --- a/include/boost/units/base_units/us/fluid_ounce.hpp +++ b/include/boost/units/base_units/us/fluid_ounce.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, fluid_ounce, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_FLUID_OUNCE_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/foot.hpp b/include/boost/units/base_units/us/foot.hpp index 16cbf6d2..9869203f 100644 --- a/include/boost/units/base_units/us/foot.hpp +++ b/include/boost/units/base_units/us/foot.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, foot, length) + #endif // BOOST_UNITS_US_FOOT_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/us/gallon.hpp b/include/boost/units/base_units/us/gallon.hpp index 1b54b28f..98baa5fe 100644 --- a/include/boost/units/base_units/us/gallon.hpp +++ b/include/boost/units/base_units/us/gallon.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, gallon, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_GALLON_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/gill.hpp b/include/boost/units/base_units/us/gill.hpp index c654386a..507937fd 100644 --- a/include/boost/units/base_units/us/gill.hpp +++ b/include/boost/units/base_units/us/gill.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, gill, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_GILL_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/grain.hpp b/include/boost/units/base_units/us/grain.hpp index 485b6872..9fde9bb6 100644 --- a/include/boost/units/base_units/us/grain.hpp +++ b/include/boost/units/base_units/us/grain.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, grain, mass) + #endif // BOOST_UNIT_BASE_UNITS_US_GRAIN_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/hundredweight.hpp b/include/boost/units/base_units/us/hundredweight.hpp index 2ac991b9..985ee9c5 100644 --- a/include/boost/units/base_units/us/hundredweight.hpp +++ b/include/boost/units/base_units/us/hundredweight.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -37,4 +38,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, hundredweight, mass) + #endif // BOOST_UNIT_BASE_UNITS_US_HUNDREDWEIGHT_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/inch.hpp b/include/boost/units/base_units/us/inch.hpp index e7bd91da..bd0e9331 100644 --- a/include/boost/units/base_units/us/inch.hpp +++ b/include/boost/units/base_units/us/inch.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, inch, length) + #endif // BOOST_UNITS_US_INCH_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/us/mil.hpp b/include/boost/units/base_units/us/mil.hpp index e3276fe7..bd31d30d 100644 --- a/include/boost/units/base_units/us/mil.hpp +++ b/include/boost/units/base_units/us/mil.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, mil, length) + #endif // BOOST_UNITS_US_MIL_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/us/mile.hpp b/include/boost/units/base_units/us/mile.hpp index c62c0d5f..fb110f17 100644 --- a/include/boost/units/base_units/us/mile.hpp +++ b/include/boost/units/base_units/us/mile.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, mile, length) + #endif // BOOST_UNITS_US_MILE_BASE_UNIT_HPP diff --git a/include/boost/units/base_units/us/minim.hpp b/include/boost/units/base_units/us/minim.hpp index d877e265..e26873a9 100644 --- a/include/boost/units/base_units/us/minim.hpp +++ b/include/boost/units/base_units/us/minim.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, minim, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_MINIM_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/ounce.hpp b/include/boost/units/base_units/us/ounce.hpp index 9a4ec3e6..8610e681 100644 --- a/include/boost/units/base_units/us/ounce.hpp +++ b/include/boost/units/base_units/us/ounce.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, ounce, mass) + #endif // BOOST_UNIT_SYSTEMS_US_OUNCE_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/pint.hpp b/include/boost/units/base_units/us/pint.hpp index 3a923b88..fbab83d9 100644 --- a/include/boost/units/base_units/us/pint.hpp +++ b/include/boost/units/base_units/us/pint.hpp @@ -14,6 +14,7 @@ #include #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, pint, "pint (U.S.)", "pt", 0.4731765e-3, si::volume, -503); @@ -25,4 +26,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::pint_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, pint, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_PINT_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/pound.hpp b/include/boost/units/base_units/us/pound.hpp index bef6cde3..31334282 100644 --- a/include/boost/units/base_units/us/pound.hpp +++ b/include/boost/units/base_units/us/pound.hpp @@ -18,6 +18,7 @@ #include #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, pound, "pound", "lb", 453.59237, cgs::gram_base_unit, -502); // exact conversion @@ -29,4 +30,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::pound_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, pound, mass) + #endif // BOOST_UNIT_SYSTEMS_US_POUND_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/pound_force.hpp b/include/boost/units/base_units/us/pound_force.hpp index 9749d5eb..698e07ab 100644 --- a/include/boost/units/base_units/us/pound_force.hpp +++ b/include/boost/units/base_units/us/pound_force.hpp @@ -18,6 +18,7 @@ //#include #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, pound_force, "pound-force", "lbf", 4.4482216152605, si::force, -600); // exact conversion @@ -29,4 +30,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::pound_force_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, pound_force, force) + #endif // BOOST_UNIT_SYSTEMS_US_POUND_FORCE_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/quart.hpp b/include/boost/units/base_units/us/quart.hpp index b39252a4..26d818d8 100644 --- a/include/boost/units/base_units/us/quart.hpp +++ b/include/boost/units/base_units/us/quart.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, quart, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_QUART_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/tablespoon.hpp b/include/boost/units/base_units/us/tablespoon.hpp index 43418ed3..8ed1d184 100644 --- a/include/boost/units/base_units/us/tablespoon.hpp +++ b/include/boost/units/base_units/us/tablespoon.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, tablespoon, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_TABLESPOON_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/teaspoon.hpp b/include/boost/units/base_units/us/teaspoon.hpp index 94fe655b..be23faca 100644 --- a/include/boost/units/base_units/us/teaspoon.hpp +++ b/include/boost/units/base_units/us/teaspoon.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, teaspoon, volume) + #endif // BOOST_UNITS_BASE_UNITS_US_TEASPOON_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/ton.hpp b/include/boost/units/base_units/us/ton.hpp index d1f52e83..5c2b649b 100644 --- a/include/boost/units/base_units/us/ton.hpp +++ b/include/boost/units/base_units/us/ton.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace boost { @@ -36,4 +37,6 @@ struct base_unit_info { } // namespace boost +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, ton, mass) + #endif // BOOST_UNIT_BASE_UNITS_US_TON_HPP_INCLUDED diff --git a/include/boost/units/base_units/us/yard.hpp b/include/boost/units/base_units/us/yard.hpp index b609eaef..f181c03a 100644 --- a/include/boost/units/base_units/us/yard.hpp +++ b/include/boost/units/base_units/us/yard.hpp @@ -18,6 +18,7 @@ #include #include #include +#include BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, yard, "yard", "yd", 0.9144, si::meter_base_unit, -501); // exact conversion @@ -29,4 +30,6 @@ BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::yard_base_unit) #endif +BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us, yard, length) + #endif // BOOST_UNITS_SYSTEMS_US_YARD_BASE_UNIT_HPP From ee58c28d0555c4366540acb8c59e5db5cc0c9c18 Mon Sep 17 00:00:00 2001 From: E Kawashima Date: Mon, 23 Jul 2018 20:39:56 +0900 Subject: [PATCH 3/3] update example/systems.cpp --- example/systems.cpp | 100 -------------------------------------------- 1 file changed, 100 deletions(-) diff --git a/example/systems.cpp b/example/systems.cpp index cbbce743..9c5162ea 100644 --- a/example/systems.cpp +++ b/example/systems.cpp @@ -22,17 +22,6 @@ Test various non-si units @endverbatim **/ -#define BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(namespace_,unit_name_,dimension_) \ -namespace boost { \ -namespace units { \ -namespace namespace_ { \ -typedef make_system::type unit_name_ ## system_; \ -typedef unit unit_name_ ## _ ## dimension_; \ -static constexpr unit_name_ ## _ ## dimension_ unit_name_ ## s; \ -} \ -} \ -} \ - #include #include #include @@ -53,15 +42,6 @@ static constexpr unit_name_ ## _ ## dimension_ unit_name_ ## s; #include #include -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,arcminute,plane_angle) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,arcsecond,plane_angle) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,degree,plane_angle) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,gradian,plane_angle) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,radian,plane_angle) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,revolution,plane_angle) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,steradian,solid_angle) - // astronomical base units #include #include @@ -71,14 +51,6 @@ BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(angle,steradian,solid_angle) #include #include -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,astronomical_unit,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,light_second,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,light_minute,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,light_hour,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,light_day,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,light_year,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,parsec,length) - // imperial base units #include #include @@ -105,29 +77,6 @@ BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(astronomical,parsec,length) #include -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,thou,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,inch,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,foot,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,yard,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,furlong,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,mile,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,league,length) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,grain,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,drachm,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,ounce,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,pound,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,stone,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,quarter,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,hundredweight,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,ton,mass) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,fluid_ounce,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,gill,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,pint,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,quart,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,gallon,volume) - // metric base units #include #include @@ -154,31 +103,6 @@ BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(imperial,gallon,volume) #include #include -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,angstrom,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,fermi,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,micron,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,nautical_mile,length) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,ton,mass) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,day,time) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,hour,time) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,minute,time) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,year,time) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,knot,velocity) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,are,area) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,barn,area) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,hectare,area) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,liter,volume) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,atmosphere,pressure) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,bar,pressure) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,mmHg,pressure) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,torr,pressure) - // us base units #include @@ -205,30 +129,6 @@ BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(metric,torr,pressure) #include #include -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,mil,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,inch,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,foot,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,yard,length) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,mile,length) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,grain,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,dram,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,ounce,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,pound,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,hundredweight,mass) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,ton,mass) - -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,minim,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,fluid_dram,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,teaspoon,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,tablespoon,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,fluid_ounce,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,gill,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,cup,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,pint,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,quart,volume) -BOOST_UNITS_DEFINE_SINGLE_UNIT_SYSTEM(us,gallon,volume) - int main(void) { using namespace boost::units;