Boost logo

Boost-Commit :

From: boost_at_[hidden]
Date: 2008-05-18 20:55:44


Author: matthiasschabel
Date: 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
New Revision: 45512
URL: http://svn.boost.org/trac/boost/changeset/45512

Log:
*** MAJOR ***

potentially breaking changes : rename SI/CGS namespaces to lowercase
remove some non-SI units (mostly obscure)

move base_units into boost/units
move physical_dimensions into boost/units
improved base_units for non-SI
Added:
   sandbox/units/boost/units/base_units/angle/arcminute.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/angle/arcsecond.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/angle/degree.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/angle/gradian.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/angle/radian.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/angle/revolution.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/angle/steradian.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/astronomical_unit.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/light_day.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/light_hour.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/light_minute.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/light_second.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/light_year.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/astronomical/parsec.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/cgs/biot.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/cgs/centimeter.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/cgs/gram.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/conversions.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/drachm.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/fluid_ounce.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/foot.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/furlong.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/gallon.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/gill.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/grain.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/hundredweight.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/inch.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/league.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/mile.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/ounce.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/pint.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/pound.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/quart.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/quarter.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/stone.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/thou.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/ton.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/imperial/yard.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/angstrom.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/are.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/atmosphere.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/bar.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/barn.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/day.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/fermi.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/hectare.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/hour.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/knot.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/liter.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/micron.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/minute.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/mmHg.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/nautical_mile.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/ton.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/torr.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/metric/year.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/ampere.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/candela.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/kelvin.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/kilogram.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/meter.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/mole.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/si/second.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/temperature/celsius.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/temperature/conversions.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/temperature/fahrenheit.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/cup.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/dram.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/fluid_dram.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/fluid_ounce.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/foot.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/gallon.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/gill.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/grain.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/hundredweight.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/inch.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/mil.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/mile.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/minim.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/ounce.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/pint.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/pound.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/quart.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/tablespoon.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/teaspoon.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/ton.hpp (contents, props changed)
   sandbox/units/boost/units/base_units/us/yard.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/absorbed_dose.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/acceleration.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/action.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/activity.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/amount.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/angular_velocity.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/area.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/current.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/dose_equivalent.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/dynamic_viscosity.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/energy.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/force.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/frequency.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/illuminance.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/kinematic_viscosity.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/length.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/luminance.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/luminous_flux.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/luminous_intensity.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/mass.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/mass_density.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/momentum.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/plane_angle.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/power.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/pressure.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/solid_angle.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/specific_volume.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/stress.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/surface_density.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/temperature.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/time.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/velocity.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/volume.hpp (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/wavenumber.hpp (contents, props changed)

Added: sandbox/units/boost/units/base_units/angle/arcminute.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/arcminute.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,36 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_BASE_UNITS_ANGLE_ARCMINUTE_HPP_INCLUDED
+#define BOOST_UNIT_BASE_UNITS_ANGLE_ARCMINUTE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/angle/degree.hpp>
+
+namespace boost {
+namespace units {
+namespace angle {
+
+typedef scaled_base_unit<degree_base_unit, scale<60, static_rational<-1> > > arcminute_base_unit;
+
+}
+
+template<>
+struct base_unit_info<angle::arcminute_base_unit> {
+ static const char* name() { return("arcminute"); }
+ static const char* symbol() { return("'"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_BASE_UNITS_ANGLE_ARCMINUTE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/angle/arcsecond.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/arcsecond.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,37 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ANGLE_ARCSECOND_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ANGLE_ARCSECOND_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/angle/degree.hpp>
+
+namespace boost {
+namespace units {
+namespace angle {
+
+//typedef scaled_base_unit<degree_base_unit, scale<60, static_rational<-2> > > arcsecond_base_unit;
+typedef scaled_base_unit<degree_base_unit, scale<3600, static_rational<-1> > > arcsecond_base_unit;
+
+}
+
+template<>
+struct base_unit_info<angle::arcsecond_base_unit> {
+ static const char* name() { return("arcsecond"); }
+ static const char* symbol() { return("\""); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_ANGLE_ARCSECOND_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/angle/degree.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/degree.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,27 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_ANGLE_DEGREE_BASE_UNIT_HPP
+#define BOOST_UNITS_ANGLE_DEGREE_BASE_UNIT_HPP
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/base_units/angle/radian.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(angle,degree,"degree","deg",6.28318530718/360.,boost::units::angle::radian_base_unit,-101);
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::degree_base_unit)
+
+#endif
+
+#endif // BOOST_UNITS_ANGLE_DEGREE_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/angle/gradian.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/gradian.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,27 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_ANGLE_GRADIAN_BASE_UNIT_HPP
+#define BOOST_UNITS_ANGLE_GRADIAN_BASE_UNIT_HPP
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/base_units/angle/radian.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(angle,gradian,"gradian","grad",6.28318530718/400.,boost::units::angle::radian_base_unit,-102);
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::gradian_base_unit)
+
+#endif
+
+#endif // BOOST_UNITS_ANGLE_GRADIAN_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/angle/radian.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/radian.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_ANGLE_RADIAN_BASE_UNIT_HPP
+#define BOOST_UNITS_ANGLE_RADIAN_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/plane_angle.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace angle {
+
+struct radian_base_unit : public base_unit<radian_base_unit, plane_angle_dimension, -2>
+{
+ static std::string name() { return("radian"); }
+ static std::string symbol() { return("rad"); }
+};
+
+} // namespace angle
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::radian_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/angle/conversions.hpp>
+
+#endif // BOOST_UNITS_ANGLE_RADIAN_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/angle/revolution.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/revolution.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,36 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_REVOLUTION_HPP
+#define BOOST_UNITS_BASE_UNITS_REVOLUTION_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/angle/degree.hpp>
+
+namespace boost {
+namespace units {
+namespace angle {
+
+typedef scaled_base_unit<degree_base_unit, scale<360, static_rational<1> > > revolution_base_unit;
+
+}
+
+template<>
+struct base_unit_info<angle::revolution_base_unit> {
+ static const char* name() { return("revolution"); }
+ static const char* symbol() { return("rev"); }
+};
+
+}
+}
+
+#endif // BOOST_UNITS_BASE_UNITS_REVOLUTION_HPP

Added: sandbox/units/boost/units/base_units/angle/steradian.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/angle/steradian.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_ANGLE_STERADIAN_BASE_UNIT_HPP
+#define BOOST_UNITS_ANGLE_STERADIAN_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/solid_angle.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace angle {
+
+struct steradian_base_unit : public base_unit<steradian_base_unit, solid_angle_dimension, -1>
+{
+ static std::string name() { return("steradian"); }
+ static std::string symbol() { return("sr"); }
+};
+
+} // namespace angle
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::angle::steradian_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/angle/conversions.hpp>
+
+#endif // BOOST_UNITS_ANGLE_STERADIAN_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/astronomical/astronomical_unit.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/astronomical_unit.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,27 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_ASTRONOMICAL_UNIT_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_ASTRONOMICAL_UNIT_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(astronomical, astronomical_unit, "astronomical unit", "a.u.", 149597870691.0, boost::units::si::meter_base_unit, -207);
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::astronomical::astronomical_unit_base_unit)
+
+#endif
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_ASTRONOMICAL_UNIT_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/astronomical/light_day.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/light_day.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_DAY_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_DAY_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/astronomical/light_second.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace astronomical {
+
+typedef scaled_base_unit<boost::units::astronomical::light_second_base_unit, scale<86400, static_rational<1> > > light_day_base_unit;
+
+} // namespace astronomical
+
+template<>
+struct base_unit_info<astronomical::light_day_base_unit> {
+ static const char* name() { return("light day"); }
+ static const char* symbol() { return("ld"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_DAY_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/astronomical/light_hour.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/light_hour.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_HOUR_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_HOUR_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/astronomical/light_second.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace astronomical {
+
+typedef scaled_base_unit<boost::units::astronomical::light_second_base_unit, scale<3600, static_rational<1> > > light_hour_base_unit;
+
+} // namespace astronomical
+
+template<>
+struct base_unit_info<astronomical::light_hour_base_unit> {
+ static const char* name() { return("light hour"); }
+ static const char* symbol() { return("lh"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_HOUR_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/astronomical/light_minute.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/light_minute.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_MINUTE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_MINUTE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/astronomical/light_second.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace astronomical {
+
+typedef scaled_base_unit<boost::units::astronomical::light_second_base_unit, scale<60, static_rational<1> > > light_minute_base_unit;
+
+} // namespace astronomical
+
+template<>
+struct base_unit_info<astronomical::light_minute_base_unit> {
+ static const char* name() { return("light minute"); }
+ static const char* symbol() { return("lm"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_MINUTE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/astronomical/light_second.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/light_second.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,27 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_SECOND_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_SECOND_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(astronomical, light_second, "light second", "ls", 2.99792458e8, boost::units::si::meter_base_unit, -201);
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::astronomical::light_second_base_unit)
+
+#endif
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_SECOND_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/astronomical/light_year.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/light_year.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_YEAR_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_YEAR_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/astronomical/light_second.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace astronomical {
+
+typedef scaled_base_unit<boost::units::astronomical::light_second_base_unit, scale<31557600, static_rational<1> > > light_year_base_unit;
+
+} // namespace astronomical
+
+template<>
+struct base_unit_info<astronomical::light_year_base_unit> {
+ static const char* name() { return("light year"); }
+ static const char* symbol() { return("ly"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_LIGHT_YEAR_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/astronomical/parsec.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/astronomical/parsec.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,27 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_ASTRONOMICAL_PARSEC_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_ASTRONOMICAL_PARSEC_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(astronomical, parsec, "parsec", "psc", 3.0856775813e16, boost::units::si::meter_base_unit, -206);
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::astronomical::parsec_base_unit)
+
+#endif
+
+#endif // BOOST_UNIT_SYSTEMS_ASTRONOMICAL_PARSEC_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/cgs/biot.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/cgs/biot.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,31 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_CGS_BIOT_BASE_UNIT_HPP
+#define BOOST_UNITS_CGS_BIOT_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/base_units/si/ampere.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace cgs {
+
+typedef scaled_base_unit<boost::units::si::ampere_base_unit, scale<10, static_rational<-1> > > biot_base_unit;
+
+} // namespace cgs
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CGS_BIOT_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/cgs/centimeter.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/cgs/centimeter.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,31 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_CENTIMETER_BASE_UNIT_HPP
+#define BOOST_UNITS_CENTIMETER_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace cgs {
+
+typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-2> > > centimeter_base_unit;
+
+} // namespace cgs
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CENTIMETER_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/cgs/gram.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/cgs/gram.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,49 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_CGS_GRAM_BASE_UNIT_HPP
+#define BOOST_UNITS_CGS_GRAM_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace cgs {
+
+struct gram_base_unit : public base_unit<gram_base_unit, mass_dimension, -8>
+{
+ static std::string name() { return("gram"); }
+ static std::string symbol() { return("g"); }
+};
+
+} // namespace cgs
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::cgs::gram_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_CGS_GRAM_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/conversions.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/conversions.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,44 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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)
+
+// No include guards. This header is intended to be included
+// multiple times.
+
+// imperial units
+
+//#if defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED) && defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_GALLON_HPP_INCLUDED) &&\
+// !defined(BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_GALLON_CONVERSION_DEFINED)
+// #define BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_GALLON_CONVERSION_DEFINED
+// #include <boost/units/conversion.hpp>
+// BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::imperial::pint_base_unit,boost::units::imperial::gallon_base_unit, double, 1./8.);
+//#endif
+//
+//#if defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED) && defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_QUART_HPP_INCLUDED) &&\
+// !defined(BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_QUART_CONVERSION_DEFINED)
+// #define BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_QUART_CONVERSION_DEFINED
+// #include <boost/units/conversion.hpp>
+// BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::imperial::pint_base_unit,boost::units::imperial::quart_base_unit, double, 1./2.);
+//#endif
+//
+//#if defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED) && defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_GILL_HPP_INCLUDED) &&\
+// !defined(BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_GILL_CONVERSION_DEFINED)
+// #define BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_GILL_CONVERSION_DEFINED
+// #include <boost/units/conversion.hpp>
+// BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::imperial::pint_base_unit,boost::units::imperial::gill_base_unit, double, 4.);
+//#endif
+//
+//#if defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED) && defined(BOOST_UNITS_BASE_UNITS_IMPERIAL_FLUID_OUNCE_HPP_INCLUDED) &&\
+// !defined(BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_FLUID_OUNCE_CONVERSION_DEFINED)
+// #define BOOST_BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_TO_FLUID_OUNCE_CONVERSION_DEFINED
+// #include <boost/units/conversion.hpp>
+// BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::imperial::pint_base_unit,boost::units::imperial::fluid_ounce_base_unit, double, 20.);
+//#endif
+
+

Added: sandbox/units/boost/units/base_units/imperial/drachm.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/drachm.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_DRACHM_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_DRACHM_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<16, static_rational<-2> > > drachm_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::drachm_base_unit> {
+ static const char* name() { return("drachm"); }
+ static const char* symbol() { return("drachm"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_DRACHM_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/fluid_ounce.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/fluid_ounce.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_IMPERIAL_FLUID_OUNCE_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_IMPERIAL_FLUID_OUNCE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pint_base_unit, scale<20, static_rational<-1> > > fluid_ounce_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::fluid_ounce_base_unit> {
+ static const char* name() { return("fluid ounce (imp.)"); }
+ static const char* symbol() { return("fl oz"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_FLUID_OUNCE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/foot.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/foot.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_IMPERIAL_FOOT_BASE_UNIT_HPP
+#define BOOST_UNITS_IMPERIAL_FOOT_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<yard_base_unit, scale<3, static_rational<-1> > > foot_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::foot_base_unit> {
+ static const char* name() { return("foot"); }
+ static const char* symbol() { return("ft"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPERIAL_FOOT_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/furlong.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/furlong.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_IMPERIAL_FURLONG_BASE_UNIT_HPP
+#define BOOST_UNITS_IMPERIAL_FURLONG_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<yard_base_unit, scale<220, static_rational<1> > > furlong_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::furlong_base_unit> {
+ static const char* name() { return("furlong"); }
+ static const char* symbol() { return("furlong"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPERIAL_FURLONG_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/gallon.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/gallon.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,40 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_IMPERIAL_GALLON_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_IMPERIAL_GALLON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+//typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<3> > > gallon_base_unit;
+typedef scaled_base_unit<pint_base_unit, scale<8, static_rational<1> > > gallon_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::gallon_base_unit> {
+ static const char* name() { return("gallon (imp.)"); }
+ static const char* symbol() { return("gal"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_GALLON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/gill.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/gill.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,40 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_IMPERIAL_GILL_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_IMPERIAL_GILL_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+//typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<-2> > > gill_base_unit;
+typedef scaled_base_unit<pint_base_unit, scale<4, static_rational<-1> > > gill_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::gill_base_unit> {
+ static const char* name() { return("gill (imp.)"); }
+ static const char* symbol() { return("gill"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_GILL_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/grain.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/grain.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_GRAIN_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_GRAIN_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<7000, static_rational<-1> > > grain_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::grain_base_unit> {
+ static const char* name() { return("grain"); }
+ static const char* symbol() { return("grain"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_GRAIN_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/hundredweight.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/hundredweight.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_HUNDREDWEIGHT_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_HUNDREDWEIGHT_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<112, static_rational<1> > > hundredweight_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::hundredweight_base_unit> {
+ static const char* name() { return("hundredweight"); }
+ static const char* symbol() { return("cwt"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_HUNDREDWEIGHT_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/inch.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/inch.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_IMPERIAL_INCH_BASE_UNIT_HPP
+#define BOOST_UNITS_IMPERIAL_INCH_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<yard_base_unit, scale<36, static_rational<-1> > > inch_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::inch_base_unit> {
+ static const char* name() { return("inch"); }
+ static const char* symbol() { return("in"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPERIAL_INCH_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/league.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/league.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_IMPERIAL_LEAGUE_BASE_UNIT_HPP
+#define BOOST_UNITS_IMPERIAL_LEAGUE_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<yard_base_unit, scale<5280, static_rational<1> > > league_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::league_base_unit> {
+ static const char* name() { return("league"); }
+ static const char* symbol() { return("league"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPERIAL_LEAGUE_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/mile.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/mile.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_IMPERIAL_MILE_BASE_UNIT_HPP
+#define BOOST_UNITS_IMPERIAL_MILE_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<yard_base_unit, scale<1760, static_rational<1> > > mile_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::mile_base_unit> {
+ static const char* name() { return("mile"); }
+ static const char* symbol() { return("mi"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPERIAL_MILE_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/ounce.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/ounce.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_OUNCE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_OUNCE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<2, static_rational<-4> > > ounce_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::ounce_base_unit> {
+ static const char* name() { return("ounce"); }
+ static const char* symbol() { return("oz"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_OUNCE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/pint.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/pint.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED
+
+#include <string>
+
+#include <boost/units/systems/si/volume.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(imperial, pint, "pint (imp.)", "pt", 4.54609e-3/8., si::volume, -303); // exact conversion
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::imperial::pint_base_unit)
+
+#endif
+
+#endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_PINT_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/pound.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/pound.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,33 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_POUND_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_POUND_HPP_INCLUDED
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/base_units/cgs/gram.hpp>
+
+// 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
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(imperial, pound, "pound", "lb", 453.59237, cgs::gram_base_unit, -302); // exact conversion
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::imperial::pound_base_unit)
+
+#endif
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_POUND_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/quart.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/quart.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,40 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_IMPERIAL_QUART_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_IMPERIAL_QUART_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+//typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<1> > > quart_base_unit;
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<1> > > quart_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::quart_base_unit> {
+ static const char* name() { return("quart (imp.)"); }
+ static const char* symbol() { return("qt"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_IMPERIAL_QUART_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/quarter.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/quarter.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_QUARTER_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_QUARTER_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<28, static_rational<1> > > quarter_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::quarter_base_unit> {
+ static const char* name() { return("quarter"); }
+ static const char* symbol() { return("quarter"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_QUARTER_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/stone.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/stone.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_STONE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_STONE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<14, static_rational<1> > > stone_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::stone_base_unit> {
+ static const char* name() { return("stone"); }
+ static const char* symbol() { return("st"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_STONE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/imperial/thou.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/thou.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_IMPERIAL_THOU_BASE_UNIT_HPP
+#define BOOST_UNITS_IMPERIAL_THOU_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<yard_base_unit, scale<36000, static_rational<-1> > > thou_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::thou_base_unit> {
+ static const char* name() { return("thou"); }
+ static const char* symbol() { return("thou"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPERIAL_THOU_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/imperial/ton.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/ton.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,40 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_IMPERIAL_TON_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_IMPERIAL_TON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/imperial/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace imperial {
+
+typedef scaled_base_unit<pound_base_unit, scale<2240, static_rational<1> > > ton_base_unit;
+
+} // namespace imperial
+
+template<>
+struct base_unit_info<imperial::ton_base_unit> {
+ static const char* name() { return("long ton"); }
+ static const char* symbol() { return("t"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_IMPERIAL_TON_HPP_INCLUDED
+

Added: sandbox/units/boost/units/base_units/imperial/yard.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/imperial/yard.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,32 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SYSTEMS_IMPERIAL_YARD_BASE_UNIT_HPP
+#define BOOST_UNITS_SYSTEMS_IMPERIAL_YARD_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+#include <boost/units/conversion.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(imperial, yard, "yard", "yd", 0.9144, si::meter_base_unit, -301); // exact conversion
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::imperial::yard_base_unit)
+
+#endif
+
+#endif // BOOST_UNITS_SYSTEMS_IMPERIAL_YARD_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/metric/angstrom.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/angstrom.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,37 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/units_fwd.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-10> > > angstrom_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::angstrom_base_unit> {
+ static const char* name() { return("angstrom"); }
+ static const char* symbol() { return(""); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/are.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/are.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/area.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, are, "are", "a", 1.0e2, si::area, 10);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/atmosphere.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/atmosphere.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/pressure.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, atmosphere, "atmosphere", "atm", 1.01325e5, si::pressure, 33);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/bar.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/bar.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/pressure.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, bar, "bar", "bar", 1.0e5, si::pressure, 14);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/barn.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/barn.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/area.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, barn, "barn", "b", 1.0e-28, si::area, 11);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/day.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/day.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_OTHER_DAY_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_OTHER_DAY_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/si/second.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::second_base_unit, scale<86400, static_rational<1> > > day_base_unit;
+
+} // namespace metric
+
+template<>
+struct base_unit_info<metric::day_base_unit> {
+ static const char* name() { return("day"); }
+ static const char* symbol() { return("d"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif

Added: sandbox/units/boost/units/base_units/metric/fermi.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/fermi.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,36 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-15> > > fermi_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::fermi_base_unit> {
+ static const char* name() { return("fermi"); }
+ static const char* symbol() { return("fm"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/hectare.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/hectare.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/area.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, hectare, "hectare", "ha", 1.0e4, si::area, 12);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/hour.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/hour.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,37 @@
+ // Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/units_fwd.hpp>
+#include <boost/units/base_units/si/second.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::second_base_unit, scale<60, static_rational<2> > > hour_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::hour_base_unit> {
+ static const char* name() { return("hour"); }
+ static const char* symbol() { return("h"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/knot.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/knot.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/velocity.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, knot, "knot", "kt", 1852./3600., boost::units::si::velocity, -403);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/liter.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/liter.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/volume.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, liter, "liter", "L", 1.0e-3, si::volume, 13);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/micron.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/micron.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,36 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-6> > > micron_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::micron_base_unit> {
+ static const char* name() { return("micron"); }
+ static const char* symbol() { return("µ"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/minute.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/minute.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,37 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/units_fwd.hpp>
+#include <boost/units/base_units/si/second.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::second_base_unit, scale<60, static_rational<1> > > minute_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::minute_base_unit> {
+ static const char* name() { return("minute"); }
+ static const char* symbol() { return("min"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/mmHg.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/mmHg.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/pressure.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, mmHg, "millimeters mercury", "mmHg", 133.322, si::pressure, -404);
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/nautical_mile.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/nautical_mile.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,36 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<1852, static_rational<1> > > nautical_mile_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::nautical_mile_base_unit> {
+ static const char* name() { return("nautical mile"); }
+ static const char* symbol() { return("nmi"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/ton.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/ton.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/units_fwd.hpp>
+#include <boost/units/base_units/si/kilogram.hpp>
+//#include <boost/units/base_units/cgs/gram.hpp>
+
+namespace boost {
+namespace units {
+namespace metric {
+
+//typedef scaled_base_unit<boost::units::cgs::gram_base_unit, scale<10, static_rational<6> > > ton_base_unit;
+typedef scaled_base_unit<boost::units::si::kilogram_base_unit, scale<1000, static_rational<1> > > ton_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::ton_base_unit> {
+ static const char* name() { return("metric ton"); }
+ static const char* symbol() { return("t"); }
+};
+
+}
+}
+
+#endif // BOOST_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/metric/torr.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/torr.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,19 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_METRIC_TORR_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_METRIC_TORR_HPP_INCLUDED
+
+#include <boost/units/conversion.hpp>
+#include <boost/units/systems/si/pressure.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, torr, "torr", "Torr", 1.01325e5/760.0, si::pressure, -401);
+
+#endif

Added: sandbox/units/boost/units/base_units/metric/year.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/metric/year.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,38 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_OTHER_YEAR_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_OTHER_YEAR_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/si/second.hpp>
+
+// Julian year = 365.25 days exactly = 8766 hours exactly
+
+namespace boost {
+namespace units {
+namespace metric {
+
+typedef scaled_base_unit<boost::units::si::second_base_unit, scale<31557600, static_rational<1> > > year_base_unit;
+
+}
+
+template<>
+struct base_unit_info<metric::year_base_unit> {
+ static const char* name() { return("Julian year"); }
+ static const char* symbol() { return("yr"); }
+};
+
+}
+}
+
+#endif

Added: sandbox/units/boost/units/base_units/si/ampere.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/ampere.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_AMPERE_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_AMPERE_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+struct ampere_base_unit : public base_unit<ampere_base_unit, current_dimension, -6>
+{
+ static std::string name() { return("ampere"); }
+ static std::string symbol() { return("A"); }
+};
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::si::ampere_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_SI_AMPERE_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/si/candela.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/candela.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_CANDELA_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_CANDELA_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/luminous_intensity.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+struct candela_base_unit : public base_unit<candela_base_unit, luminous_intensity_dimension, -3>
+{
+ static std::string name() { return("candela"); }
+ static std::string symbol() { return("cd"); }
+};
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::si::candela_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_SI_CANDELA_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/si/kelvin.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/kelvin.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_KELVIN_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_KELVIN_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/temperature.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+struct kelvin_base_unit : public base_unit<kelvin_base_unit, temperature_dimension, -5>
+{
+ static std::string name() { return("kelvin"); }
+ static std::string symbol() { return("K"); }
+};
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::si::kelvin_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_SI_KELVIN_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/si/kilogram.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/kilogram.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,31 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_KILOGRAM_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_KILOGRAM_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/base_units/cgs/gram.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+typedef scaled_base_unit<boost::units::cgs::gram_base_unit, scale<10, static_rational<3> > > kilogram_base_unit;
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SI_KILOGRAM_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/si/meter.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/meter.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,50 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_METER_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_METER_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+struct meter_base_unit : public base_unit<meter_base_unit, length_dimension, -9>
+{
+ static std::string name() { return("meter"); }
+ static std::string symbol() { return("m"); }
+};
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::si::meter_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_SI_METER_BASE_UNIT_HPP
+

Added: sandbox/units/boost/units/base_units/si/mole.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/mole.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_MOLE_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_MOLE_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/amount.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+struct mole_base_unit : public base_unit<mole_base_unit, amount_dimension, -4>
+{
+ static std::string name() { return("mole"); }
+ static std::string symbol() { return("mol"); }
+};
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::si::mole_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_SI_MOLE_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/si/second.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/si/second.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SI_SECOND_BASE_UNIT_HPP
+#define BOOST_UNITS_SI_SECOND_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace si {
+
+struct second_base_unit : public base_unit<second_base_unit, time_dimension, -7>
+{
+ static std::string name() { return("second"); }
+ static std::string symbol() { return("s"); }
+};
+
+} // namespace si
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::si::second_base_unit)
+
+#endif
+
+//#include <boost/units/base_units/detail/conversions.hpp>
+
+#endif // BOOST_UNITS_SI_SECOND_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/temperature/celsius.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/temperature/celsius.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_TEMPERATURE_CELSIUS_BASE_UNIT_HPP
+#define BOOST_UNITS_TEMPERATURE_CELSIUS_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/temperature.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace temperature {
+
+struct celsius_base_unit : public base_unit<celsius_base_unit, temperature_dimension, -1008>
+{
+ static std::string name() { return("celsius"); }
+ static std::string symbol() { return("C"); }
+};
+
+} // namespace temperature
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::temperature::celsius_base_unit)
+
+#endif
+
+#include <boost/units/base_units/temperature/conversions.hpp>
+
+#endif // BOOST_UNITS_TEMPERATURE_CELSIUS_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/temperature/conversions.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/temperature/conversions.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,42 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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)
+
+// No include guards. This header is intended to be included
+// multiple times.
+
+// units of temperature
+
+#if defined(BOOST_UNITS_SI_KELVIN_BASE_UNIT_HPP) && defined(BOOST_UNITS_TEMPERATURE_CELSIUS_BASE_UNIT_HPP) &&\
+ !defined(BOOST_UNITS_SYSTEMS_KELVIN_TO_CELSIUS_CONVERSION_DEFINED)
+ #define BOOST_UNITS_SYSTEMS_KELVIN_TO_CELSIUS_CONVERSION_DEFINED
+ #include <boost/units/conversion.hpp>
+ #include <boost/units/absolute.hpp>
+ BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::si::kelvin_base_unit, boost::units::temperature::celsius_base_unit, one, one());
+ BOOST_UNITS_DEFINE_CONVERSION_OFFSET(boost::units::si::kelvin_base_unit, boost::units::temperature::celsius_base_unit, double, -273.15);
+#endif
+
+#if defined(BOOST_UNITS_SI_KELVIN_BASE_UNIT_HPP) && defined(BOOST_UNITS_TEMPERATURE_FAHRENHEIT_BASE_UNIT_HPP) &&\
+ !defined(BOOST_UNITS_SYSTEMS_KELVIN_TO_FAHRENHEIT_CONVERSION_DEFINED)
+ #define BOOST_UNITS_SYSTEMS_KELVIN_TO_FAHRENHEIT_CONVERSION_DEFINED
+ #include <boost/units/conversion.hpp>
+ #include <boost/units/absolute.hpp>
+ BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::si::kelvin_base_unit, boost::units::temperature::fahrenheit_base_unit, double, 9.0/5.0);
+ BOOST_UNITS_DEFINE_CONVERSION_OFFSET(boost::units::si::kelvin_base_unit, boost::units::temperature::fahrenheit_base_unit, double, -273.15 * 9.0 / 5.0 + 32.0);
+#endif
+
+#if defined(BOOST_UNITS_TEMPERATURE_CELSIUS_BASE_UNIT_HPP) && defined(BOOST_UNITS_TEMPERATURE_FAHRENHEIT_BASE_UNIT_HPP) &&\
+ !defined(BOOST_UNITS_SYSTEMS_CELSUIS_TO_FAHRENHEIT_CONVERSION_DEFINED)
+ #define BOOST_UNITS_SYSTEMS_CELSUIS_TO_FAHRENHEIT_CONVERSION_DEFINED
+ #include <boost/units/conversion.hpp>
+ #include <boost/units/absolute.hpp>
+ BOOST_UNITS_DEFINE_CONVERSION_FACTOR(boost::units::temperature::celsius_base_unit, boost::units::temperature::fahrenheit_base_unit, double, 9.0/5.0);
+ BOOST_UNITS_DEFINE_CONVERSION_OFFSET(boost::units::temperature::celsius_base_unit, boost::units::temperature::fahrenheit_base_unit, double, 32.0);
+#endif
+

Added: sandbox/units/boost/units/base_units/temperature/fahrenheit.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/temperature/fahrenheit.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,48 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_TEMPERATURE_FAHRENHEIT_BASE_UNIT_HPP
+#define BOOST_UNITS_TEMPERATURE_FAHRENHEIT_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/temperature.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace temperature {
+
+struct fahrenheit_base_unit : public base_unit<fahrenheit_base_unit, temperature_dimension, -1007>
+{
+ static std::string name() { return("fahrenheit"); }
+ static std::string symbol() { return("°F"); }
+};
+
+} // namespace temperature
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::temperature::fahrenheit_base_unit)
+
+#endif
+
+#include <boost/units/base_units/temperature/conversions.hpp>
+
+#endif // BOOST_UNITS_TEMPERATURE_FAHRENHEIT_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/us/cup.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/cup.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_CUP_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_CUP_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<-1> > > cup_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::cup_base_unit> {
+ static const char* name() { return("cup"); }
+ static const char* symbol() { return("c"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_CUP_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/dram.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/dram.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_BASE_UNITS_US_DRAM_HPP_INCLUDED
+#define BOOST_UNIT_BASE_UNITS_US_DRAM_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pound_base_unit, scale<16, static_rational<-2> > > dram_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::dram_base_unit> {
+ static const char* name() { return("dram (U.S.)"); }
+ static const char* symbol() { return("dr"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_BASE_UNITS_US_DRAM_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/fluid_dram.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/fluid_dram.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_FLUID_DRAM_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_FLUID_DRAM_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<-7> > > fluid_dram_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::fluid_dram_base_unit> {
+ static const char* name() { return("fluid dram (U.S.)"); }
+ static const char* symbol() { return("fl dr"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_FLUID_DRAM_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/fluid_ounce.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/fluid_ounce.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_FLUID_OUNCE_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_FLUID_OUNCE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<16, static_rational<-1> > > fluid_ounce_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::fluid_ounce_base_unit> {
+ static const char* name() { return("fluid ounce (U.S.)"); }
+ static const char* symbol() { return("fl oz"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_FLUID_OUNCE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/foot.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/foot.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_US_FOOT_BASE_UNIT_HPP
+#define BOOST_UNITS_US_FOOT_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<yard_base_unit, scale<3, static_rational<-1> > > foot_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::foot_base_unit> {
+ static const char* name() { return("foot"); }
+ static const char* symbol() { return("ft"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_US_FOOT_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/us/gallon.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/gallon.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_GALLON_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_GALLON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<3> > > gallon_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::gallon_base_unit> {
+ static const char* name() { return("gallon (U.S.)"); }
+ static const char* symbol() { return("gal"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_GALLON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/gill.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/gill.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_GILL_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_GILL_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<-2> > > gill_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::gill_base_unit> {
+ static const char* name() { return("gill (U.S.)"); }
+ static const char* symbol() { return("gi"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_GILL_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/grain.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/grain.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_BASE_UNITS_US_GRAIN_HPP_INCLUDED
+#define BOOST_UNIT_BASE_UNITS_US_GRAIN_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pound_base_unit, scale<7000, static_rational<-1> > > grain_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::grain_base_unit> {
+ static const char* name() { return("grain"); }
+ static const char* symbol() { return("gr"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_BASE_UNITS_US_GRAIN_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/hundredweight.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/hundredweight.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,40 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_BASE_UNITS_US_HUNDREDWEIGHT_HPP_INCLUDED
+#define BOOST_UNIT_BASE_UNITS_US_HUNDREDWEIGHT_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+//typedef scaled_base_unit<pound_base_unit, scale<10, static_rational<2> > > hundredweight_base_unit;
+typedef scaled_base_unit<pound_base_unit, scale<100, static_rational<1> > > hundredweight_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::hundredweight_base_unit> {
+ static const char* name() { return("hundredweight (U.S.)"); }
+ static const char* symbol() { return("cwt"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_BASE_UNITS_US_HUNDREDWEIGHT_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/inch.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/inch.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_US_INCH_BASE_UNIT_HPP
+#define BOOST_UNITS_US_INCH_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<yard_base_unit, scale<36, static_rational<-1> > > inch_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::inch_base_unit> {
+ static const char* name() { return("inch"); }
+ static const char* symbol() { return("in"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_US_INCH_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/us/mil.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/mil.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_US_MIL_BASE_UNIT_HPP
+#define BOOST_UNITS_US_MIL_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<yard_base_unit, scale<36000, static_rational<-1> > > mil_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::mil_base_unit> {
+ static const char* name() { return("mil"); }
+ static const char* symbol() { return("mil"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_US_MIL_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/us/mile.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/mile.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_US_MILE_BASE_UNIT_HPP
+#define BOOST_UNITS_US_MILE_BASE_UNIT_HPP
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/yard.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<yard_base_unit, scale<1760, static_rational<1> > > mile_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::mile_base_unit> {
+ static const char* name() { return("mile"); }
+ static const char* symbol() { return("mi"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_US_MILE_BASE_UNIT_HPP

Added: sandbox/units/boost/units/base_units/us/minim.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/minim.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_MINIM_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_MINIM_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<7680, static_rational<-1> > > minim_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::minim_base_unit> {
+ static const char* name() { return("minim (U.S.)"); }
+ static const char* symbol() { return("minim"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_MINIM_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/ounce.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/ounce.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_US_OUNCE_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_US_OUNCE_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pound_base_unit, scale<2, static_rational<-4> > > ounce_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::ounce_base_unit> {
+ static const char* name() { return("ounce"); }
+ static const char* symbol() { return("oz"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_SYSTEMS_US_OUNCE_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/pint.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/pint.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_PINT_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_PINT_HPP_INCLUDED
+
+#include <string>
+
+#include <boost/units/systems/si/volume.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, pint, "pint (U.S.)", "pt", 0.4731765e-3, si::volume, -503);
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::pint_base_unit)
+
+#endif
+
+#endif // BOOST_UNITS_BASE_UNITS_US_PINT_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/pound.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/pound.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,31 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_SYSTEMS_US_POUND_HPP_INCLUDED
+#define BOOST_UNIT_SYSTEMS_US_POUND_HPP_INCLUDED
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/base_units/cgs/gram.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, pound, "pound", "lb", 453.59237, cgs::gram_base_unit, -502); // exact conversion
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::pound_base_unit)
+
+#endif
+
+#endif // BOOST_UNIT_SYSTEMS_US_POUND_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/quart.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/quart.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_QUART_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_QUART_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<1> > > quart_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::quart_base_unit> {
+ static const char* name() { return("quart (U.S.)"); }
+ static const char* symbol() { return("qt"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_QUART_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/tablespoon.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/tablespoon.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_TABLESPOON_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_TABLESPOON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<2, static_rational<-5> > > tablespoon_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::tablespoon_base_unit> {
+ static const char* name() { return("tablespoon"); }
+ static const char* symbol() { return("tbsp"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_TABLESPOON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/teaspoon.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/teaspoon.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_BASE_UNITS_US_TEASPOON_HPP_INCLUDED
+#define BOOST_UNITS_BASE_UNITS_US_TEASPOON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pint.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pint_base_unit, scale<96, static_rational<-1> > > teaspoon_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::teaspoon_base_unit> {
+ static const char* name() { return("teaspoon"); }
+ static const char* symbol() { return("tsp"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_BASE_UNITS_US_TEASPOON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/ton.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/ton.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,39 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_UNIT_BASE_UNITS_US_TON_HPP_INCLUDED
+#define BOOST_UNIT_BASE_UNITS_US_TON_HPP_INCLUDED
+
+#include <boost/units/scaled_base_unit.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/scale.hpp>
+#include <boost/units/base_units/us/pound.hpp>
+
+namespace boost {
+
+namespace units {
+
+namespace us {
+
+typedef scaled_base_unit<pound_base_unit, scale<2000, static_rational<1> > > ton_base_unit;
+
+} // namespace us
+
+template<>
+struct base_unit_info<us::ton_base_unit> {
+ static const char* name() { return("short ton"); }
+ static const char* symbol() { return("t"); }
+};
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNIT_BASE_UNITS_US_TON_HPP_INCLUDED

Added: sandbox/units/boost/units/base_units/us/yard.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/base_units/us/yard.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,32 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_SYSTEMS_US_YARD_BASE_UNIT_HPP
+#define BOOST_UNITS_SYSTEMS_US_YARD_BASE_UNIT_HPP
+
+#include <string>
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_unit.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/base_units/si/meter.hpp>
+#include <boost/units/conversion.hpp>
+
+BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(us, yard, "yard", "yd", 0.9144, si::meter_base_unit, -501); // exact conversion
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::us::yard_base_unit)
+
+#endif
+
+#endif // BOOST_UNITS_SYSTEMS_US_YARD_BASE_UNIT_HPP

Added: sandbox/units/boost/units/physical_dimensions.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,52 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2007-2008 Steven Watanabe
+//
+// 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_PHYSICAL_UNITS_HPP
+#define BOOST_UNITS_PHYSICAL_UNITS_HPP
+
+/// \file Includes all of the physical_dimension headers.
+
+#include <boost/units/physical_dimensions/amount.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/luminous_intensity.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/plane_angle.hpp>
+#include <boost/units/physical_dimensions/solid_angle.hpp>
+#include <boost/units/physical_dimensions/temperature.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+#include <boost/units/physical_dimensions/absorbed_dose.hpp>
+#include <boost/units/physical_dimensions/acceleration.hpp>
+#include <boost/units/physical_dimensions/action.hpp>
+#include <boost/units/physical_dimensions/activity.hpp>
+#include <boost/units/physical_dimensions/angular_velocity.hpp>
+#include <boost/units/physical_dimensions/area.hpp>
+#include <boost/units/physical_dimensions/dose_equivalent.hpp>
+#include <boost/units/physical_dimensions/dynamic_viscosity.hpp>
+#include <boost/units/physical_dimensions/energy.hpp>
+#include <boost/units/physical_dimensions/force.hpp>
+#include <boost/units/physical_dimensions/frequency.hpp>
+#include <boost/units/physical_dimensions/illuminance.hpp>
+#include <boost/units/physical_dimensions/kinematic_viscosity.hpp>
+#include <boost/units/physical_dimensions/luminance.hpp>
+#include <boost/units/physical_dimensions/luminous_flux.hpp>
+#include <boost/units/physical_dimensions/mass_density.hpp>
+#include <boost/units/physical_dimensions/momentum.hpp>
+#include <boost/units/physical_dimensions/power.hpp>
+#include <boost/units/physical_dimensions/pressure.hpp>
+#include <boost/units/physical_dimensions/specific_volume.hpp>
+#include <boost/units/physical_dimensions/stress.hpp>
+#include <boost/units/physical_dimensions/surface_density.hpp>
+#include <boost/units/physical_dimensions/velocity.hpp>
+#include <boost/units/physical_dimensions/volume.hpp>
+#include <boost/units/physical_dimensions/wavenumber.hpp>
+
+#endif // BOOST_UNITS_PHYSICAL_UNITS_HPP

Added: sandbox/units/boost/units/physical_dimensions/absorbed_dose.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/absorbed_dose.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ABSORBED_DOSE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ABSORBED_DOSE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for absorbed dose : L^2 T^-2
+typedef derived_dimension<length_base_dimension,2,time_base_dimension,-2>::type absorbed_dose_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ABSORBED_DOSE_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/acceleration.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/acceleration.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ACCELERATION_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ACCELERATION_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for acceleration : L T^-2
+typedef derived_dimension<length_base_dimension,1,time_base_dimension,-2>::type acceleration_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ACCELERATION_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/action.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/action.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ACTION_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ACTION_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for action : L^2 M T^-1
+typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-1>::type action_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ACTION_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/activity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/activity.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ACTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ACTIVITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for activity : T^-1
+typedef derived_dimension<time_base_dimension,-1>::type activity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ACTIVITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/amount.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/amount.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_AMOUNT_BASE_DIMENSION_HPP
+#define BOOST_UNITS_AMOUNT_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of amount
+struct amount_base_dimension : boost::units::base_dimension<amount_base_dimension,-4> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::amount_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of amount of substance (N)
+typedef amount_base_dimension::dimension_type amount_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_AMOUNT_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/angular_velocity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/angular_velocity.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ANGULAR_VELOCITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ANGULAR_VELOCITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/plane_angle.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for angular velocity : T^-1 QP
+typedef derived_dimension<time_base_dimension,-1,plane_angle_base_dimension,1>::type angular_velocity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ANGULAR_VELOCITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/area.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/area.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_AREA_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_AREA_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for area : L^2
+typedef derived_dimension<length_base_dimension,2>::type area_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_AREA_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/current.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/current.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_CURRENT_BASE_DIMENSION_HPP
+#define BOOST_UNITS_CURRENT_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of current
+struct current_base_dimension : boost::units::base_dimension<current_base_dimension,-6> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::current_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of electric current (I)
+typedef current_base_dimension::dimension_type current_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CURRENT_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/dose_equivalent.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/dose_equivalent.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_DOSE_EQUIVALENT_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_DOSE_EQUIVALENT_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for dose equivalent : L^2 T^-2
+typedef derived_dimension<length_base_dimension,2,time_base_dimension,-2>::type dose_equivalent_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_DOSE_EQUIVALENT_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/dynamic_viscosity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/dynamic_viscosity.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_DYNAMIC_VISCOSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_DYNAMIC_VISCOSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for dynamic viscosity : M L^-1 T^-1
+typedef derived_dimension<mass_base_dimension,1,length_base_dimension,-1,time_base_dimension,-1>::type dynamic_viscosity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_DYNAMIC_VISCOSITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/energy.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/energy.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ENERGY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ENERGY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for energy : L^2 M T^-2
+typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-2>::type energy_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ENERGY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/force.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/force.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_FORCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_FORCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for force : L M T^-2
+typedef derived_dimension<length_base_dimension,1,mass_base_dimension,1,time_base_dimension,-2>::type force_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_FORCE_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/frequency.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/frequency.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_FREQUENCY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_FREQUENCY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for frequency : T^-1
+typedef derived_dimension<time_base_dimension,-1>::type frequency_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_FREQUENCY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/illuminance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/illuminance.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_ILLUMINANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ILLUMINANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/luminous_intensity.hpp>
+#include <boost/units/physical_dimensions/solid_angle.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for illuminance : L^-2 I QS
+typedef derived_dimension<length_base_dimension,-2,luminous_intensity_base_dimension,1,solid_angle_base_dimension,1>::type illuminance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ILLUMINANCE_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/kinematic_viscosity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/kinematic_viscosity.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_KINEMATIC_VISCOSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_KINEMATIC_VISCOSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for kinematic viscosity : L^2 T^-1
+typedef derived_dimension<length_base_dimension,2,time_base_dimension,-1>::type kinematic_viscosity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_KINEMATIC_VISCOSITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/length.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/length.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_LENGTH_BASE_DIMENSION_HPP
+#define BOOST_UNITS_LENGTH_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of length
+struct length_base_dimension : boost::units::base_dimension<length_base_dimension, -9> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::length_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of length (L)
+typedef length_base_dimension::dimension_type length_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_LENGTH_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/luminance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/luminance.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_LUMINANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_LUMINANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/luminous_intensity.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for luminance : L^-2 I
+typedef derived_dimension<length_base_dimension,-2,luminous_intensity_base_dimension,1>::type luminance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_LUMINANCE_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/luminous_flux.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/luminous_flux.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_LUMINOUS_FLUX_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_LUMINOUS_FLUX_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/luminous_intensity.hpp>
+#include <boost/units/physical_dimensions/solid_angle.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for luminous flux : I QS
+typedef derived_dimension<luminous_intensity_base_dimension,1,solid_angle_base_dimension,1>::type luminous_flux_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_LUMINOUS_FLUX_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/luminous_intensity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/luminous_intensity.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_LUMINOUS_INTENSITY_BASE_DIMENSION_HPP
+#define BOOST_UNITS_LUMINOUS_INTENSITY_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of luminous intensity
+struct luminous_intensity_base_dimension : boost::units::base_dimension<luminous_intensity_base_dimension,-3> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::luminous_intensity_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of luminous intensity (J)
+typedef luminous_intensity_base_dimension::dimension_type luminous_intensity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_LUMINOUS_INTENSITY_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/mass.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/mass.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_MASS_BASE_DIMENSION_HPP
+#define BOOST_UNITS_MASS_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of mass
+struct mass_base_dimension : boost::units::base_dimension<mass_base_dimension,-8> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::mass_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of mass (M)
+typedef mass_base_dimension::dimension_type mass_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MASS_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/mass_density.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/mass_density.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_MASS_DENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MASS_DENSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for mass density : L^-3 M
+typedef derived_dimension<length_base_dimension,-3,mass_base_dimension,1>::type mass_density_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MASS_DENSITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/momentum.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/momentum.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_MOMENTUM_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MOMENTUM_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for linear momentum : L M T^-1
+typedef derived_dimension<length_base_dimension,1,mass_base_dimension,1,time_base_dimension,-1>::type momentum_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MOMENTUM_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/plane_angle.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/plane_angle.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_PLANE_ANGLE_BASE_DIMENSION_HPP
+#define BOOST_UNITS_PLANE_ANGLE_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of plane angle
+struct plane_angle_base_dimension : boost::units::base_dimension<plane_angle_base_dimension,-2> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::plane_angle_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of plane angle (QP)
+typedef plane_angle_base_dimension::dimension_type plane_angle_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_PLANE_ANGLE_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/power.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/power.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_POWER_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_POWER_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for power : L^2 M T^-3
+typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-3>::type power_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_POWER_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/pressure.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/pressure.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_PRESSURE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_PRESSURE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for pressure : L^-1 M T^-2
+typedef derived_dimension<length_base_dimension,-1,mass_base_dimension,1,time_base_dimension,-2>::type pressure_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_PRESSURE_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/solid_angle.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/solid_angle.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_SOLID_ANGLE_BASE_DIMENSION_HPP
+#define BOOST_UNITS_SOLID_ANGLE_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of solid angle
+struct solid_angle_base_dimension : boost::units::base_dimension<solid_angle_base_dimension,-1> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::solid_angle_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of solid angle (QS)
+typedef solid_angle_base_dimension::dimension_type solid_angle_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SOLID_ANGLE_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/specific_volume.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/specific_volume.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_SPECIFIC_VOLUME_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_SPECIFIC_VOLUME_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for specific volume : L^3 M^-1
+typedef derived_dimension<length_base_dimension,3,mass_base_dimension,-1>::type specific_volume_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SPECIFIC_VOLUME_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/stress.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/stress.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_STRESS_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_STRESS_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for stress : L^-1 M T^-2
+typedef derived_dimension<length_base_dimension,-1,mass_base_dimension,1,time_base_dimension,-2>::type stress_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_STRESS_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/surface_density.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/surface_density.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_SURFACE_DENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_SURFACE_DENSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for surface density : L^-2 M
+typedef derived_dimension<length_base_dimension,-2,mass_base_dimension,1>::type surface_density_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SURFACE_DENSITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/temperature.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/temperature.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_TEMPERATURE_BASE_DIMENSION_HPP
+#define BOOST_UNITS_TEMPERATURE_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of temperature
+struct temperature_base_dimension : boost::units::base_dimension<temperature_base_dimension,-5> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::temperature_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of temperature (Theta)
+typedef temperature_base_dimension::dimension_type temperature_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_TEMPERATURE_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/time.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/time.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,47 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_TIME_BASE_DIMENSION_HPP
+#define BOOST_UNITS_TIME_BASE_DIMENSION_HPP
+
+#include <boost/units/config.hpp>
+#include <boost/units/base_dimension.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// base dimension of time
+struct time_base_dimension : boost::units::base_dimension<time_base_dimension,-7> { };
+
+} // namespace units
+
+} // namespace boost
+
+#if BOOST_UNITS_HAS_BOOST_TYPEOF
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TYPE(boost::units::time_base_dimension)
+
+#endif
+
+namespace boost {
+
+namespace units {
+
+/// dimension of time (T)
+typedef time_base_dimension::dimension_type time_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_TIME_BASE_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/velocity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/velocity.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,29 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_VELOCITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_VELOCITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for velocity : L T^-1
+typedef derived_dimension<length_base_dimension,1,time_base_dimension,-1>::type velocity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_VELOCITY_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/volume.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/volume.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_VOLUME_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_VOLUME_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for volume : l^3
+typedef derived_dimension<length_base_dimension,3>::type volume_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_VOLUME_DERIVED_DIMENSION_HPP

Added: sandbox/units/boost/units/physical_dimensions/wavenumber.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/wavenumber.hpp 2008-05-18 20:55:35 EDT (Sun, 18 May 2008)
@@ -0,0 +1,28 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// 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_WAVENUMBER_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_WAVENUMBER_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for wavenumber : L^-1
+typedef derived_dimension<length_base_dimension,-1>::type wavenumber_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_WAVENUMBER_DERIVED_DIMENSION_HPP


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk