summaryrefslogtreecommitdiff
path: root/boost/units/physical_dimensions
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-10-30 12:57:26 -0700
committerAnas Nashif <anas.nashif@intel.com>2012-10-30 12:57:26 -0700
commit1a78a62555be32868418fe52f8e330c9d0f95d5a (patch)
treed3765a80e7d3b9640ec2e930743630cd6b9fce2b /boost/units/physical_dimensions
downloadboost-1a78a62555be32868418fe52f8e330c9d0f95d5a.tar.gz
boost-1a78a62555be32868418fe52f8e330c9d0f95d5a.tar.bz2
boost-1a78a62555be32868418fe52f8e330c9d0f95d5a.zip
Imported Upstream version 1.49.0upstream/1.49.0
Diffstat (limited to 'boost/units/physical_dimensions')
-rw-r--r--boost/units/physical_dimensions/absorbed_dose.hpp30
-rw-r--r--boost/units/physical_dimensions/acceleration.hpp30
-rw-r--r--boost/units/physical_dimensions/action.hpp32
-rw-r--r--boost/units/physical_dimensions/activity.hpp28
-rw-r--r--boost/units/physical_dimensions/amount.hpp49
-rw-r--r--boost/units/physical_dimensions/angular_acceleration.hpp30
-rw-r--r--boost/units/physical_dimensions/angular_momentum.hpp34
-rw-r--r--boost/units/physical_dimensions/angular_velocity.hpp30
-rw-r--r--boost/units/physical_dimensions/area.hpp28
-rw-r--r--boost/units/physical_dimensions/capacitance.hpp34
-rw-r--r--boost/units/physical_dimensions/conductance.hpp34
-rw-r--r--boost/units/physical_dimensions/conductivity.hpp34
-rw-r--r--boost/units/physical_dimensions/current.hpp49
-rw-r--r--boost/units/physical_dimensions/dose_equivalent.hpp30
-rw-r--r--boost/units/physical_dimensions/dynamic_viscosity.hpp32
-rw-r--r--boost/units/physical_dimensions/electric_charge.hpp30
-rw-r--r--boost/units/physical_dimensions/electric_potential.hpp34
-rw-r--r--boost/units/physical_dimensions/energy.hpp32
-rw-r--r--boost/units/physical_dimensions/energy_density.hpp32
-rw-r--r--boost/units/physical_dimensions/force.hpp32
-rw-r--r--boost/units/physical_dimensions/frequency.hpp28
-rw-r--r--boost/units/physical_dimensions/heat_capacity.hpp34
-rw-r--r--boost/units/physical_dimensions/illuminance.hpp32
-rw-r--r--boost/units/physical_dimensions/impedance.hpp34
-rw-r--r--boost/units/physical_dimensions/inductance.hpp34
-rw-r--r--boost/units/physical_dimensions/kinematic_viscosity.hpp30
-rw-r--r--boost/units/physical_dimensions/length.hpp49
-rw-r--r--boost/units/physical_dimensions/luminance.hpp30
-rw-r--r--boost/units/physical_dimensions/luminous_flux.hpp30
-rw-r--r--boost/units/physical_dimensions/luminous_intensity.hpp49
-rw-r--r--boost/units/physical_dimensions/magnetic_field_intensity.hpp30
-rw-r--r--boost/units/physical_dimensions/magnetic_flux.hpp34
-rw-r--r--boost/units/physical_dimensions/magnetic_flux_density.hpp32
-rw-r--r--boost/units/physical_dimensions/mass.hpp49
-rw-r--r--boost/units/physical_dimensions/mass_density.hpp30
-rw-r--r--boost/units/physical_dimensions/molar_energy.hpp34
-rw-r--r--boost/units/physical_dimensions/molar_heat_capacity.hpp36
-rw-r--r--boost/units/physical_dimensions/moment_of_inertia.hpp32
-rw-r--r--boost/units/physical_dimensions/momentum.hpp32
-rw-r--r--boost/units/physical_dimensions/permeability.hpp34
-rw-r--r--boost/units/physical_dimensions/permittivity.hpp34
-rw-r--r--boost/units/physical_dimensions/plane_angle.hpp49
-rw-r--r--boost/units/physical_dimensions/power.hpp32
-rw-r--r--boost/units/physical_dimensions/pressure.hpp32
-rw-r--r--boost/units/physical_dimensions/reluctance.hpp34
-rw-r--r--boost/units/physical_dimensions/resistance.hpp34
-rw-r--r--boost/units/physical_dimensions/resistivity.hpp34
-rw-r--r--boost/units/physical_dimensions/solid_angle.hpp49
-rw-r--r--boost/units/physical_dimensions/specific_energy.hpp30
-rw-r--r--boost/units/physical_dimensions/specific_heat_capacity.hpp32
-rw-r--r--boost/units/physical_dimensions/specific_volume.hpp30
-rw-r--r--boost/units/physical_dimensions/stress.hpp32
-rw-r--r--boost/units/physical_dimensions/surface_density.hpp30
-rw-r--r--boost/units/physical_dimensions/surface_tension.hpp31
-rw-r--r--boost/units/physical_dimensions/temperature.hpp49
-rw-r--r--boost/units/physical_dimensions/thermal_conductivity.hpp34
-rw-r--r--boost/units/physical_dimensions/time.hpp49
-rw-r--r--boost/units/physical_dimensions/torque.hpp34
-rw-r--r--boost/units/physical_dimensions/velocity.hpp30
-rw-r--r--boost/units/physical_dimensions/volume.hpp28
-rw-r--r--boost/units/physical_dimensions/wavenumber.hpp28
61 files changed, 2092 insertions, 0 deletions
diff --git a/boost/units/physical_dimensions/absorbed_dose.hpp b/boost/units/physical_dimensions/absorbed_dose.hpp
new file mode 100644
index 0000000000..c62ed09b6d
--- /dev/null
+++ b/boost/units/physical_dimensions/absorbed_dose.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/acceleration.hpp b/boost/units/physical_dimensions/acceleration.hpp
new file mode 100644
index 0000000000..8f25c86364
--- /dev/null
+++ b/boost/units/physical_dimensions/acceleration.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/action.hpp b/boost/units/physical_dimensions/action.hpp
new file mode 100644
index 0000000000..cf38d324bd
--- /dev/null
+++ b/boost/units/physical_dimensions/action.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/activity.hpp b/boost/units/physical_dimensions/activity.hpp
new file mode 100644
index 0000000000..035cd44433
--- /dev/null
+++ b/boost/units/physical_dimensions/activity.hpp
@@ -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
diff --git a/boost/units/physical_dimensions/amount.hpp b/boost/units/physical_dimensions/amount.hpp
new file mode 100644
index 0000000000..6d9d4b3a48
--- /dev/null
+++ b/boost/units/physical_dimensions/amount.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/angular_acceleration.hpp b/boost/units/physical_dimensions/angular_acceleration.hpp
new file mode 100644
index 0000000000..79a3a14beb
--- /dev/null
+++ b/boost/units/physical_dimensions/angular_acceleration.hpp
@@ -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_ANGULAR_ACCELERATION_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ANGULAR_ACCELERATION_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 acceleration : T^-2 QP
+typedef derived_dimension<time_base_dimension,-2,
+ plane_angle_base_dimension,1>::type angular_acceleration_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ANGULAR_ACCELERATION_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/angular_momentum.hpp b/boost/units/physical_dimensions/angular_momentum.hpp
new file mode 100644
index 0000000000..0a86f88bc6
--- /dev/null
+++ b/boost/units/physical_dimensions/angular_momentum.hpp
@@ -0,0 +1,34 @@
+// 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_MOMENTUM_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ANGULAR_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>
+#include <boost/units/physical_dimensions/plane_angle.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for angular momentum : L^2 M T^-1 QP^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-1,
+ plane_angle_base_dimension,-1>::type angular_momentum_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ANGULAR_MOMENTUM_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/angular_velocity.hpp b/boost/units/physical_dimensions/angular_velocity.hpp
new file mode 100644
index 0000000000..5d7ea879b7
--- /dev/null
+++ b/boost/units/physical_dimensions/angular_velocity.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/area.hpp b/boost/units/physical_dimensions/area.hpp
new file mode 100644
index 0000000000..0d8cb0991e
--- /dev/null
+++ b/boost/units/physical_dimensions/area.hpp
@@ -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
diff --git a/boost/units/physical_dimensions/capacitance.hpp b/boost/units/physical_dimensions/capacitance.hpp
new file mode 100644
index 0000000000..e7019a7c5b
--- /dev/null
+++ b/boost/units/physical_dimensions/capacitance.hpp
@@ -0,0 +1,34 @@
+// 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_CAPACITANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_CAPACITANCE_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for capacitance : L^-2 M^-1 T^4 I^2
+typedef derived_dimension<length_base_dimension,-2,
+ mass_base_dimension,-1,
+ time_base_dimension,4,
+ current_base_dimension,2>::type capacitance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CAPACITANCE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/conductance.hpp b/boost/units/physical_dimensions/conductance.hpp
new file mode 100644
index 0000000000..8405f92d39
--- /dev/null
+++ b/boost/units/physical_dimensions/conductance.hpp
@@ -0,0 +1,34 @@
+// 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_CONDUCTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_CONDUCTANCE_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for conductance : L^-2 M^-1 T^3 I^2
+typedef derived_dimension<length_base_dimension,-2,
+ mass_base_dimension,-1,
+ time_base_dimension,3,
+ current_base_dimension,2>::type conductance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CONDUCTANCE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/conductivity.hpp b/boost/units/physical_dimensions/conductivity.hpp
new file mode 100644
index 0000000000..d255915a5c
--- /dev/null
+++ b/boost/units/physical_dimensions/conductivity.hpp
@@ -0,0 +1,34 @@
+// 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_CONDUCTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_CONDUCTIVITY_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for conductivity : L^-3 M^-1 T^3 I^2
+typedef derived_dimension<length_base_dimension,-3,
+ mass_base_dimension,-1,
+ time_base_dimension,3,
+ current_base_dimension,2>::type conductivity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CONDUCTIVITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/current.hpp b/boost/units/physical_dimensions/current.hpp
new file mode 100644
index 0000000000..6fa0e8924c
--- /dev/null
+++ b/boost/units/physical_dimensions/current.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/dose_equivalent.hpp b/boost/units/physical_dimensions/dose_equivalent.hpp
new file mode 100644
index 0000000000..ae13d2f385
--- /dev/null
+++ b/boost/units/physical_dimensions/dose_equivalent.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/dynamic_viscosity.hpp b/boost/units/physical_dimensions/dynamic_viscosity.hpp
new file mode 100644
index 0000000000..029f1fabea
--- /dev/null
+++ b/boost/units/physical_dimensions/dynamic_viscosity.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/electric_charge.hpp b/boost/units/physical_dimensions/electric_charge.hpp
new file mode 100644
index 0000000000..36836462c9
--- /dev/null
+++ b/boost/units/physical_dimensions/electric_charge.hpp
@@ -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_ELECTRIC_CHARGE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ELECTRIC_CHARGE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for electric charge : T^1 I^1
+typedef derived_dimension<time_base_dimension,1,
+ current_base_dimension,1>::type electric_charge_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ELECTRIC_CHARGE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/electric_potential.hpp b/boost/units/physical_dimensions/electric_potential.hpp
new file mode 100644
index 0000000000..1ef028c129
--- /dev/null
+++ b/boost/units/physical_dimensions/electric_potential.hpp
@@ -0,0 +1,34 @@
+// 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_ELECTRIC_POTENTIAL_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ELECTRIC_POTENTIAL_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for electric potential : L^2 M T^-3 I^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-3,
+ current_base_dimension,-1>::type electric_potential_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ELECTRIC_POTENTIAL_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/energy.hpp b/boost/units/physical_dimensions/energy.hpp
new file mode 100644
index 0000000000..bf0dbe34a9
--- /dev/null
+++ b/boost/units/physical_dimensions/energy.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/energy_density.hpp b/boost/units/physical_dimensions/energy_density.hpp
new file mode 100644
index 0000000000..d30e1e122b
--- /dev/null
+++ b/boost/units/physical_dimensions/energy_density.hpp
@@ -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) 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_DENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ENERGY_DENSITY_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 density : L^-1 M^1 T^-2
+typedef derived_dimension<length_base_dimension,-1,
+ mass_base_dimension,1,
+ time_base_dimension,-2>::type energy_density_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ENERGY_DENSITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/force.hpp b/boost/units/physical_dimensions/force.hpp
new file mode 100644
index 0000000000..a1ed955b16
--- /dev/null
+++ b/boost/units/physical_dimensions/force.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/frequency.hpp b/boost/units/physical_dimensions/frequency.hpp
new file mode 100644
index 0000000000..e2af7ee048
--- /dev/null
+++ b/boost/units/physical_dimensions/frequency.hpp
@@ -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
diff --git a/boost/units/physical_dimensions/heat_capacity.hpp b/boost/units/physical_dimensions/heat_capacity.hpp
new file mode 100644
index 0000000000..3cbfa57c22
--- /dev/null
+++ b/boost/units/physical_dimensions/heat_capacity.hpp
@@ -0,0 +1,34 @@
+// 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_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_HEAT_CAPACITY_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>
+#include <boost/units/physical_dimensions/temperature.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for heat capacity : L^2 M T^-2 Theta^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ temperature_base_dimension,-1>::type heat_capacity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/illuminance.hpp b/boost/units/physical_dimensions/illuminance.hpp
new file mode 100644
index 0000000000..a24daf476a
--- /dev/null
+++ b/boost/units/physical_dimensions/illuminance.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/impedance.hpp b/boost/units/physical_dimensions/impedance.hpp
new file mode 100644
index 0000000000..177fc607e4
--- /dev/null
+++ b/boost/units/physical_dimensions/impedance.hpp
@@ -0,0 +1,34 @@
+// 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_IMPEDANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_IMPEDANCE_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for impedance : L^2 M T^-3 I^-2
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-3,
+ current_base_dimension,-2>::type impedance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPEDANCE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/inductance.hpp b/boost/units/physical_dimensions/inductance.hpp
new file mode 100644
index 0000000000..1506364c30
--- /dev/null
+++ b/boost/units/physical_dimensions/inductance.hpp
@@ -0,0 +1,34 @@
+// 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_INDUCTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_INDUCTANCE_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for inductance : L^2 M T^-2 I^-2
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ current_base_dimension,-2>::type inductance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_INDUCTANCE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/kinematic_viscosity.hpp b/boost/units/physical_dimensions/kinematic_viscosity.hpp
new file mode 100644
index 0000000000..e5c5261eef
--- /dev/null
+++ b/boost/units/physical_dimensions/kinematic_viscosity.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/length.hpp b/boost/units/physical_dimensions/length.hpp
new file mode 100644
index 0000000000..22bbec43c3
--- /dev/null
+++ b/boost/units/physical_dimensions/length.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/luminance.hpp b/boost/units/physical_dimensions/luminance.hpp
new file mode 100644
index 0000000000..f2e6f24873
--- /dev/null
+++ b/boost/units/physical_dimensions/luminance.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/luminous_flux.hpp b/boost/units/physical_dimensions/luminous_flux.hpp
new file mode 100644
index 0000000000..4c725efeeb
--- /dev/null
+++ b/boost/units/physical_dimensions/luminous_flux.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/luminous_intensity.hpp b/boost/units/physical_dimensions/luminous_intensity.hpp
new file mode 100644
index 0000000000..1da041d99a
--- /dev/null
+++ b/boost/units/physical_dimensions/luminous_intensity.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/magnetic_field_intensity.hpp b/boost/units/physical_dimensions/magnetic_field_intensity.hpp
new file mode 100644
index 0000000000..665e5bc26c
--- /dev/null
+++ b/boost/units/physical_dimensions/magnetic_field_intensity.hpp
@@ -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_MAGNETIC_FIELD_INTENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MAGNETIC_FIELD_INTENSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for magnetic field intensity : L^-1 I
+typedef derived_dimension<length_base_dimension,-1,
+ current_base_dimension,1>::type magnetic_field_intensity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MAGNETIC_FIELD_INTENSITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/magnetic_flux.hpp b/boost/units/physical_dimensions/magnetic_flux.hpp
new file mode 100644
index 0000000000..c247e5605d
--- /dev/null
+++ b/boost/units/physical_dimensions/magnetic_flux.hpp
@@ -0,0 +1,34 @@
+// 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_MAGNETIC_FLUX_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MAGNETIC_FLUX_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for magnetic flux : L^2 M T^-2 I^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ current_base_dimension,-1>::type magnetic_flux_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MAGNETIC_FLUX_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/magnetic_flux_density.hpp b/boost/units/physical_dimensions/magnetic_flux_density.hpp
new file mode 100644
index 0000000000..d7fb7bbb14
--- /dev/null
+++ b/boost/units/physical_dimensions/magnetic_flux_density.hpp
@@ -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) 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_MAGNETIC_FLUX_DENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MAGNETIC_FLUX_DENSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for magnetic flux density : M T^-2 I^-1
+typedef derived_dimension<mass_base_dimension,1,
+ time_base_dimension,-2,
+ current_base_dimension,-1>::type magnetic_flux_density_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MAGNETIC_FLUX_DENSITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/mass.hpp b/boost/units/physical_dimensions/mass.hpp
new file mode 100644
index 0000000000..7aaa75ccfc
--- /dev/null
+++ b/boost/units/physical_dimensions/mass.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/mass_density.hpp b/boost/units/physical_dimensions/mass_density.hpp
new file mode 100644
index 0000000000..e632f2474f
--- /dev/null
+++ b/boost/units/physical_dimensions/mass_density.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/molar_energy.hpp b/boost/units/physical_dimensions/molar_energy.hpp
new file mode 100644
index 0000000000..2f83bbf551
--- /dev/null
+++ b/boost/units/physical_dimensions/molar_energy.hpp
@@ -0,0 +1,34 @@
+// 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_MOLAR_ENERGY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MOLAR_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>
+#include <boost/units/physical_dimensions/amount.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for molar energy : L^2 M T^-2 N^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ amount_base_dimension,-1>::type molar_energy_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MOLAR_ENERGY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/molar_heat_capacity.hpp b/boost/units/physical_dimensions/molar_heat_capacity.hpp
new file mode 100644
index 0000000000..48e147bdb3
--- /dev/null
+++ b/boost/units/physical_dimensions/molar_heat_capacity.hpp
@@ -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) 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_MOLAR_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MOLAR_HEAT_CAPACITY_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>
+#include <boost/units/physical_dimensions/temperature.hpp>
+#include <boost/units/physical_dimensions/amount.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for molar heat capacity : L^2 M T^-2 Theta^-1 N^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ temperature_base_dimension,-1,
+ amount_base_dimension,-1>::type molar_heat_capacity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MOLAR_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/moment_of_inertia.hpp b/boost/units/physical_dimensions/moment_of_inertia.hpp
new file mode 100644
index 0000000000..58c85c80d1
--- /dev/null
+++ b/boost/units/physical_dimensions/moment_of_inertia.hpp
@@ -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) 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_MOMENT_OF_INERTIA_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MOMENT_OF_INERTIA_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/plane_angle.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for moment of inertia : L^2 M QP^-2
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ plane_angle_base_dimension,-2>::type moment_of_inertia_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MOMENT_OF_INERTIA_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/momentum.hpp b/boost/units/physical_dimensions/momentum.hpp
new file mode 100644
index 0000000000..13e8b8c67c
--- /dev/null
+++ b/boost/units/physical_dimensions/momentum.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/permeability.hpp b/boost/units/physical_dimensions/permeability.hpp
new file mode 100644
index 0000000000..a0ea30cdaa
--- /dev/null
+++ b/boost/units/physical_dimensions/permeability.hpp
@@ -0,0 +1,34 @@
+// 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_PERMEABILITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_PERMEABILITY_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for permeability : L M T^-2 I^-2
+typedef derived_dimension<length_base_dimension,1,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ current_base_dimension,-2>::type permeability_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_PERMEABILITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/permittivity.hpp b/boost/units/physical_dimensions/permittivity.hpp
new file mode 100644
index 0000000000..01994c5cea
--- /dev/null
+++ b/boost/units/physical_dimensions/permittivity.hpp
@@ -0,0 +1,34 @@
+// 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_PERMITTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_PERMITTIVITY_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for permittivity : L^-3 M^-1 T^4 I^2
+typedef derived_dimension<length_base_dimension,-3,
+ mass_base_dimension,-1,
+ time_base_dimension,4,
+ current_base_dimension,2>::type permittivity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_PERMITTIVITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/plane_angle.hpp b/boost/units/physical_dimensions/plane_angle.hpp
new file mode 100644
index 0000000000..ae700321f8
--- /dev/null
+++ b/boost/units/physical_dimensions/plane_angle.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/power.hpp b/boost/units/physical_dimensions/power.hpp
new file mode 100644
index 0000000000..77e04cf4ee
--- /dev/null
+++ b/boost/units/physical_dimensions/power.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/pressure.hpp b/boost/units/physical_dimensions/pressure.hpp
new file mode 100644
index 0000000000..666b4c704b
--- /dev/null
+++ b/boost/units/physical_dimensions/pressure.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/reluctance.hpp b/boost/units/physical_dimensions/reluctance.hpp
new file mode 100644
index 0000000000..56be33b480
--- /dev/null
+++ b/boost/units/physical_dimensions/reluctance.hpp
@@ -0,0 +1,34 @@
+// 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_RELUCTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_RELUCTANCE_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for reluctance : L^-2 M^-1 T^2 I^2
+typedef derived_dimension<length_base_dimension,-2,
+ mass_base_dimension,-1,
+ time_base_dimension,2,
+ current_base_dimension,2>::type reluctance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_RELUCTANCE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/resistance.hpp b/boost/units/physical_dimensions/resistance.hpp
new file mode 100644
index 0000000000..3b1491d2bf
--- /dev/null
+++ b/boost/units/physical_dimensions/resistance.hpp
@@ -0,0 +1,34 @@
+// 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_RESISTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_RESISTANCE_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for resistance : L^2 M T^-3 I^-2
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-3,
+ current_base_dimension,-2>::type resistance_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_RESISTANCE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/resistivity.hpp b/boost/units/physical_dimensions/resistivity.hpp
new file mode 100644
index 0000000000..a82b900c47
--- /dev/null
+++ b/boost/units/physical_dimensions/resistivity.hpp
@@ -0,0 +1,34 @@
+// 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_RESISTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_RESISTIVITY_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>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for resistivity : L^3 M T^-3 I^-2
+typedef derived_dimension<length_base_dimension,3,
+ mass_base_dimension,1,
+ time_base_dimension,-3,
+ current_base_dimension,-2>::type resistivity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_RESISTIVITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/solid_angle.hpp b/boost/units/physical_dimensions/solid_angle.hpp
new file mode 100644
index 0000000000..1d035c02f8
--- /dev/null
+++ b/boost/units/physical_dimensions/solid_angle.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/specific_energy.hpp b/boost/units/physical_dimensions/specific_energy.hpp
new file mode 100644
index 0000000000..e74a29371f
--- /dev/null
+++ b/boost/units/physical_dimensions/specific_energy.hpp
@@ -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_SPECIFIC_ENERGY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_SPECIFIC_ENERGY_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 specific energy : L^2 T^-2
+typedef derived_dimension<length_base_dimension,2,
+ time_base_dimension,-2>::type specific_energy_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SPECIFIC_ENERGY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/specific_heat_capacity.hpp b/boost/units/physical_dimensions/specific_heat_capacity.hpp
new file mode 100644
index 0000000000..9e48faec0c
--- /dev/null
+++ b/boost/units/physical_dimensions/specific_heat_capacity.hpp
@@ -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) 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_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_SPECIFIC_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/temperature.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for specific heat capacity : L^2 T^-2 Theta^-1
+typedef derived_dimension<length_base_dimension,2,
+ time_base_dimension,-2,
+ temperature_base_dimension,-1>::type specific_heat_capacity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SPECIFIC_HEAT_CAPACITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/specific_volume.hpp b/boost/units/physical_dimensions/specific_volume.hpp
new file mode 100644
index 0000000000..85ed8896b7
--- /dev/null
+++ b/boost/units/physical_dimensions/specific_volume.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/stress.hpp b/boost/units/physical_dimensions/stress.hpp
new file mode 100644
index 0000000000..d989c8c405
--- /dev/null
+++ b/boost/units/physical_dimensions/stress.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/surface_density.hpp b/boost/units/physical_dimensions/surface_density.hpp
new file mode 100644
index 0000000000..898e8f4a24
--- /dev/null
+++ b/boost/units/physical_dimensions/surface_density.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/surface_tension.hpp b/boost/units/physical_dimensions/surface_tension.hpp
new file mode 100644
index 0000000000..630509fd6d
--- /dev/null
+++ b/boost/units/physical_dimensions/surface_tension.hpp
@@ -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) 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_TENSION_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_SURFACE_TENSION_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 surface tension : M T^-2
+typedef derived_dimension<mass_base_dimension,1,
+ time_base_dimension,-2>::type surface_tension_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_SURFACE_TENSION_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/temperature.hpp b/boost/units/physical_dimensions/temperature.hpp
new file mode 100644
index 0000000000..f6bc788203
--- /dev/null
+++ b/boost/units/physical_dimensions/temperature.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/thermal_conductivity.hpp b/boost/units/physical_dimensions/thermal_conductivity.hpp
new file mode 100644
index 0000000000..abc82c7f18
--- /dev/null
+++ b/boost/units/physical_dimensions/thermal_conductivity.hpp
@@ -0,0 +1,34 @@
+// 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_THERMAL_CONDUCTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_THERMAL_CONDUCTIVITY_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>
+#include <boost/units/physical_dimensions/temperature.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for thermal_conductivity : L^1 M^1 T^-3 Theta^-1
+typedef derived_dimension<length_base_dimension,1,
+ mass_base_dimension,1,
+ time_base_dimension,-3,
+ temperature_base_dimension,-1>::type thermal_conductivity_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_THERMAL_CONDUCTIVITY_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/time.hpp b/boost/units/physical_dimensions/time.hpp
new file mode 100644
index 0000000000..0b9a3e1f32
--- /dev/null
+++ b/boost/units/physical_dimensions/time.hpp
@@ -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) 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
diff --git a/boost/units/physical_dimensions/torque.hpp b/boost/units/physical_dimensions/torque.hpp
new file mode 100644
index 0000000000..61c41a139f
--- /dev/null
+++ b/boost/units/physical_dimensions/torque.hpp
@@ -0,0 +1,34 @@
+// 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_TORQUE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_TORQUE_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/plane_angle.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for torque : L^2 M T^-2 QP^-1
+typedef derived_dimension<length_base_dimension,2,
+ mass_base_dimension,1,
+ time_base_dimension,-2,
+ plane_angle_base_dimension,-1>::type torque_dimension;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_TORQUE_DERIVED_DIMENSION_HPP
diff --git a/boost/units/physical_dimensions/velocity.hpp b/boost/units/physical_dimensions/velocity.hpp
new file mode 100644
index 0000000000..eb3d41215a
--- /dev/null
+++ b/boost/units/physical_dimensions/velocity.hpp
@@ -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_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
diff --git a/boost/units/physical_dimensions/volume.hpp b/boost/units/physical_dimensions/volume.hpp
new file mode 100644
index 0000000000..a2cdd88f25
--- /dev/null
+++ b/boost/units/physical_dimensions/volume.hpp
@@ -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
diff --git a/boost/units/physical_dimensions/wavenumber.hpp b/boost/units/physical_dimensions/wavenumber.hpp
new file mode 100644
index 0000000000..abaf0acc5d
--- /dev/null
+++ b/boost/units/physical_dimensions/wavenumber.hpp
@@ -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