Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60654 - branches/units/autoprefix/boost/units
From: pbristow_at_[hidden]
Date: 2010-03-16 14:38:56


Author: pbristow
Date: 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
New Revision: 60654
URL: http://svn.boost.org/trac/boost/changeset/60654

Log:
Doxygen file info updated.
Text files modified:
   branches/units/autoprefix/boost/units/absolute.hpp | 27 ++-
   branches/units/autoprefix/boost/units/base_dimension.hpp | 26 ++-
   branches/units/autoprefix/boost/units/base_unit.hpp | 22 +-
   branches/units/autoprefix/boost/units/cmath.hpp | 223 +++++++++++++++---------------
   branches/units/autoprefix/boost/units/config.hpp | 22 ++
   branches/units/autoprefix/boost/units/conversion.hpp | 8
   branches/units/autoprefix/boost/units/derived_dimension.hpp | 25 ++-
   branches/units/autoprefix/boost/units/dim.hpp | 55 +++---
   branches/units/autoprefix/boost/units/dimension.hpp | 48 +++---
   branches/units/autoprefix/boost/units/dimensionless_quantity.hpp | 9
   branches/units/autoprefix/boost/units/dimensionless_type.hpp | 11
   branches/units/autoprefix/boost/units/dimensionless_unit.hpp | 9
   branches/units/autoprefix/boost/units/get_dimension.hpp | 14 +
   branches/units/autoprefix/boost/units/get_system.hpp | 13 +
   branches/units/autoprefix/boost/units/heterogeneous_system.hpp | 11 +
   branches/units/autoprefix/boost/units/homogeneous_system.hpp | 17 +
   branches/units/autoprefix/boost/units/io.hpp | 98 ++++++------
   branches/units/autoprefix/boost/units/is_dim.hpp | 9
   branches/units/autoprefix/boost/units/is_dimension_list.hpp | 7
   branches/units/autoprefix/boost/units/is_dimensionless.hpp | 13 +
   branches/units/autoprefix/boost/units/is_dimensionless_quantity.hpp | 9
   branches/units/autoprefix/boost/units/is_dimensionless_unit.hpp | 9
   branches/units/autoprefix/boost/units/is_quantity.hpp | 11 +
   branches/units/autoprefix/boost/units/is_quantity_of_dimension.hpp | 9
   branches/units/autoprefix/boost/units/is_quantity_of_system.hpp | 9
   branches/units/autoprefix/boost/units/is_unit.hpp | 11 +
   branches/units/autoprefix/boost/units/is_unit_of_dimension.hpp | 9
   branches/units/autoprefix/boost/units/is_unit_of_system.hpp | 13 +
   branches/units/autoprefix/boost/units/lambda.hpp | 7
   branches/units/autoprefix/boost/units/limits.hpp | 8
   branches/units/autoprefix/boost/units/make_scaled_unit.hpp | 7
   branches/units/autoprefix/boost/units/make_system.hpp | 16 +
   branches/units/autoprefix/boost/units/operators.hpp | 36 ++--
   branches/units/autoprefix/boost/units/physical_dimensions.hpp | 15 -
   branches/units/autoprefix/boost/units/pow.hpp | 24 +-
   branches/units/autoprefix/boost/units/quantity.hpp | 293 ++++++++++++++++++++-------------------
   branches/units/autoprefix/boost/units/reduce_unit.hpp | 7
   branches/units/autoprefix/boost/units/scale.hpp | 13 +
   branches/units/autoprefix/boost/units/scaled_base_unit.hpp | 8
   branches/units/autoprefix/boost/units/static_constant.hpp | 15 +
   branches/units/autoprefix/boost/units/static_rational.hpp | 5
   branches/units/autoprefix/boost/units/unit.hpp | 80 +++++-----
   branches/units/autoprefix/boost/units/units_fwd.hpp | 14 +
   43 files changed, 746 insertions(+), 549 deletions(-)

Modified: branches/units/autoprefix/boost/units/absolute.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/absolute.hpp (original)
+++ branches/units/autoprefix/boost/units/absolute.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,9 +8,14 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
+///
+/// \file
+/// \brief Absolute units (points rather than vectors).
+/// \details Operations between absolute units, and relative units like temperature differences.
+///
+
 #ifndef BOOST_UNITS_ABSOLUTE_HPP
 #define BOOST_UNITS_ABSOLUTE_HPP
-
 #include <iosfwd>
 
 #include <boost/units/detail/absolute_impl.hpp>
@@ -20,28 +25,28 @@
 namespace units {
 
 /// A wrapper to represent absolute units (points rather than vectors). Intended
-/// originally for temperatures, this class implements operators for absolute units
+/// originally for temperatures, this class implements operators for absolute units
 /// so that addition of a relative unit to an absolute unit results in another
 /// absolute unit : absolute<T> +/- T -> absolute<T> and subtraction of one absolute
-/// unit from another results in a relative unit : absolute<T> - absolute<T> -> T
+/// unit from another results in a relative unit : absolute<T> - absolute<T> -> T.
 template<class Y>
 class absolute
 {
     public:
         typedef absolute<Y> this_type;
         typedef Y value_type;
-
+
         absolute() : val_() { }
         absolute(const value_type& val) : val_(val) { }
         absolute(const this_type& source) : val_(source.val_) { }
-
+
         this_type& operator=(const this_type& source) { val_ = source.val_; return *this; }
-
+
         const value_type& value() const { return val_; }
-
+
         const this_type& operator+=(const value_type& val) { val_ += val; return *this; }
         const this_type& operator-=(const value_type& val) { val_ -= val; return *this; }
-
+
     private:
         value_type val_;
 };
@@ -94,7 +99,7 @@
 {
 
     os << "absolute " << aval.value();
-
+
     return os;
 }
 
@@ -121,7 +126,7 @@
 /// @endcode
 /// @c BOOST_UNITS_DEFINE_CONVERSION_FACTOR is also necessary to
 /// specify the conversion factor. Like @c BOOST_UNITS_DEFINE_CONVERSION_FACTOR
-/// this macro defines both forward and reverse conversions so
+/// this macro defines both forward and reverse conversions so
 /// defining, e.g., the conversion from celsius to fahrenheit as above will also
 /// define the inverse conversion from fahrenheit to celsius.
 #define BOOST_UNITS_DEFINE_CONVERSION_OFFSET(From, To, type_, value_) \

Modified: branches/units/autoprefix/boost/units/base_dimension.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/base_dimension.hpp (original)
+++ branches/units/autoprefix/boost/units/base_dimension.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,6 +8,12 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
+///
+/// \file
+/// \brief base dimensions (mass, length, time...).
+/// \details base dimension definition registration.
+///
+
 #ifndef BOOST_UNITS_BASE_DIMENSION_HPP
 #define BOOST_UNITS_BASE_DIMENSION_HPP
 
@@ -35,7 +41,7 @@
 template<class T, long N>
 struct check_base_dimension {
     enum {
- value =
+ value =
             sizeof(boost_units_is_registered(units::base_dimension_ordinal<N>())) == sizeof(detail::yes) &&
             sizeof(boost_units_is_registered(units::base_dimension_pair<T, N>())) != sizeof(detail::yes)
     };
@@ -57,14 +63,14 @@
>::type
 #endif
>
-class base_dimension :
- public ordinal<N>
+class base_dimension :
+ public ordinal<N>
 {
     public:
         /// INTERNAL ONLY
         typedef base_dimension this_type;
         /// A convenience typedef. Equivalent to boost::units::derived_dimension<Derived,1>::type.
-#ifndef BOOST_UNITS_DOXYGEN
+#ifndef BOOST_UNITS_DOXYGEN
         typedef list<dim<Derived,static_rational<1> >, dimensionless_type> dimension_type;
 #else
         typedef detail::unspecified dimension_type;
@@ -75,14 +81,14 @@
     private:
         /// Register this ordinal
         /// INTERNAL ONLY
- friend detail::yes
- boost_units_is_registered(const units::base_dimension_ordinal<N>&)
+ friend detail::yes
+ boost_units_is_registered(const units::base_dimension_ordinal<N>&)
         { detail::yes result; return(result); }
-
+
         /// But make sure we can identify the current instantiation!
         /// INTERNAL ONLY
- friend detail::yes
- boost_units_is_registered(const units::base_dimension_pair<Derived, N>&)
+ friend detail::yes
+ boost_units_is_registered(const units::base_dimension_pair<Derived, N>&)
         { detail::yes result; return(result); }
 };
 

Modified: branches/units/autoprefix/boost/units/base_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/base_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/base_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,6 +8,12 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
+///
+/// \file
+/// \brief base unit (meter, kg, sec...).
+/// \details base unit definition registration.
+///
+
 #ifndef BOOST_UNITS_BASE_UNIT_HPP
 #define BOOST_UNITS_BASE_UNIT_HPP
 
@@ -60,8 +66,8 @@
>::type
 #endif
>
-class base_unit :
- public ordinal<N>
+class base_unit :
+ public ordinal<N>
 {
     public:
         /// INTERNAL ONLY
@@ -96,14 +102,14 @@
     private:
         /// Register this ordinal
         /// INTERNAL ONLY
- friend detail::yes
- boost_units_unit_is_registered(const units::base_unit_ordinal<N>&)
+ friend detail::yes
+ boost_units_unit_is_registered(const units::base_unit_ordinal<N>&)
         { detail::yes result; return(result); }
-
+
         /// But make sure we can identify the current instantiation!
         /// INTERNAL ONLY
- friend detail::yes
- boost_units_unit_is_registered(const units::base_unit_pair<Derived, N>&)
+ friend detail::yes
+ boost_units_unit_is_registered(const units::base_unit_pair<Derived, N>&)
         { detail::yes result; return(result); }
 };
 

Modified: branches/units/autoprefix/boost/units/cmath.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/cmath.hpp (original)
+++ branches/units/autoprefix/boost/units/cmath.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,9 +8,17 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNITS_CMATH_HPP
+#ifndef BOOST_UNITS_CMATH_HPP
 #define BOOST_UNITS_CMATH_HPP
 
+///
+/// \file
+/// \brief Overloads of functions in \<cmath\> for quantities.
+/// \details Only functions for which a dimensionally-correct result type
+/// can be determined are overloaded.
+/// All functions work with dimensionless quantities.
+///
+
 #include <boost/config/no_tr1/cmath.hpp>
 #include <cstdlib>
 
@@ -27,14 +35,7 @@
 
 #include <boost/units/systems/si/plane_angle.hpp>
 
-/// \file cmath.hpp
-/// \brief Overloads of functions in \<cmath\> for quantities
-///
-/// \details Only functions for which a dimensionally-correct result type
-/// can be determined are overloaded. All functions work with dimensionless
-/// quantities.
-
-// BOOST_PREVENT_MACRO_SUBSTITUTION is needed on certain compilers that define
+// BOOST_PREVENT_MACRO_SUBSTITUTION is needed on certain compilers that define
 // some <cmath> functions as macros; it is used for all functions even though it
 // isn't necessary -- I didn't want to think :)
 //
@@ -43,186 +44,186 @@
 
 namespace boost {
 
-namespace units {
+namespace units {
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isfinite BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
-{
+{
     using boost::math::isfinite;
     return isfinite BOOST_PREVENT_MACRO_SUBSTITUTION (q.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isinf BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
-{
+{
     using boost::math::isinf;
     return isinf BOOST_PREVENT_MACRO_SUBSTITUTION (q.value());
 }
 
 template<class Unit,class Y>
 inline
-bool
+bool
 isnan BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
-{
+{
     using boost::math::isnan;
     return isnan BOOST_PREVENT_MACRO_SUBSTITUTION (q.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isnormal BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
-{
+{
     using boost::math::isnormal;
     return isnormal BOOST_PREVENT_MACRO_SUBSTITUTION (q.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isgreater BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                             const quantity<Unit,Y>& q2)
-{
+{
     using namespace detail;
     return isgreater BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isgreaterequal BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                                  const quantity<Unit,Y>& q2)
-{
+{
     using namespace detail;
     return isgreaterequal BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isless BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                          const quantity<Unit,Y>& q2)
-{
+{
     using namespace detail;
     return isless BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 islessequal BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                               const quantity<Unit,Y>& q2)
-{
+{
     using namespace detail;
     return islessequal BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 islessgreater BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                                 const quantity<Unit,Y>& q2)
-{
+{
     using namespace detail;
     return islessgreater BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value());
 }
 
 template<class Unit,class Y>
-inline
-bool
+inline
+bool
 isunordered BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                               const quantity<Unit,Y>& q2)
-{
+{
     using namespace detail;
     return isunordered BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value());
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 abs BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using std::abs;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(abs BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 ceil BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using std::ceil;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(ceil BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 copysign BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
          const quantity<Unit,Y>& q2)
 {
     using boost::math::copysign;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(copysign BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 fabs BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using std::fabs;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(fabs BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 floor BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using std::floor;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(floor BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 fdim BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                        const quantity<Unit,Y>& q2)
 {
     using namespace detail;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(fdim BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 
 #if 0
 
 template<class Unit1,class Unit2,class Unit3,class Y>
-inline
+inline
 typename add_typeof_helper<
     typename multiply_typeof_helper<quantity<Unit1,Y>,
                                     quantity<Unit2,Y> >::type,
- quantity<Unit3,Y> >::type
+ quantity<Unit3,Y> >::type
 fma BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit1,Y>& q1,
                                       const quantity<Unit2,Y>& q2,
                                       const quantity<Unit3,Y>& q3)
@@ -232,53 +233,53 @@
     typedef quantity<Unit1,Y> type1;
     typedef quantity<Unit2,Y> type2;
     typedef quantity<Unit3,Y> type3;
-
+
     typedef typename multiply_typeof_helper<type1,type2>::type prod_type;
     typedef typename add_typeof_helper<prod_type,type3>::type quantity_type;
-
+
     return quantity_type::from_value(fma BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value(),q3.value()));
 }
 
 #endif
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 fmax BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                        const quantity<Unit,Y>& q2)
 {
     using namespace detail;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(fmax BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 fmin BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                        const quantity<Unit,Y>& q2)
 {
     using namespace detail;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(fmin BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 
 template<class Unit,class Y>
-inline
-int
+inline
+int
 fpclassify BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
-{
+{
     using boost::math::fpclassify;
 
     return fpclassify BOOST_PREVENT_MACRO_SUBSTITUTION (q.value());
 }
 
 template<class Unit,class Y>
-inline
+inline
 typename root_typeof_helper<
     typename add_typeof_helper<
         typename power_typeof_helper<quantity<Unit,Y>,
@@ -291,69 +292,69 @@
     using boost::math::hypot;
 
     typedef quantity<Unit,Y> type1;
-
+
     typedef typename power_typeof_helper<type1,static_rational<2> >::type pow_type;
     typedef typename add_typeof_helper<pow_type,pow_type>::type add_type;
     typedef typename root_typeof_helper<add_type,static_rational<2> >::type quantity_type;
-
+
     return quantity_type::from_value(hypot BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 
 // does ISO C++ support long long? g++ claims not
 //template<class Unit,class Y>
-//inline
-//quantity<Unit,long long>
+//inline
+//quantity<Unit,long long>
 //llrint BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 //{
 // using namespace detail;
 //
 // typedef quantity<Unit,long long> quantity_type;
-//
+//
 // return quantity_type::from_value(llrint BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 //}
 
 // does ISO C++ support long long? g++ claims not
 //template<class Unit,class Y>
-//inline
-//quantity<Unit,long long>
+//inline
+//quantity<Unit,long long>
 //llround BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 //{
 // using namespace detail;
 //
 // typedef quantity<Unit,long long> quantity_type;
-//
+//
 // return quantity_type::from_value(llround BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 //}
 
 #if 0
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 nearbyint BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using namespace detail;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(nearbyint BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 #endif
 
 template<class Unit,class Y>
-inline
+inline
 quantity<Unit,Y> nextafter BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                                              const quantity<Unit,Y>& q2)
 {
     using boost::math::nextafter;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(nextafter BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 template<class Unit,class Y>
-inline
+inline
 quantity<Unit,Y> nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q1,
                                                               const quantity<Unit,Y>& q2)
 {
@@ -363,57 +364,57 @@
     using boost::math::nextafter;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(nextafter BOOST_PREVENT_MACRO_SUBSTITUTION (q1.value(),q2.value()));
 }
 
 #if 0
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 rint BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using namespace detail;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(rint BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 #endif
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 round BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using boost::math::round;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(round BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
 template<class Unit,class Y>
-inline
-int
+inline
+int
 signbit BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
-{
+{
     using boost::math::signbit;
 
     return signbit BOOST_PREVENT_MACRO_SUBSTITUTION (q.value());
 }
 
 template<class Unit,class Y>
-inline
-quantity<Unit,Y>
+inline
+quantity<Unit,Y>
 trunc BOOST_PREVENT_MACRO_SUBSTITUTION (const quantity<Unit,Y>& q)
 {
     using namespace detail;
 
     typedef quantity<Unit,Y> quantity_type;
-
+
     return quantity_type::from_value(trunc BOOST_PREVENT_MACRO_SUBSTITUTION (q.value()));
 }
 
@@ -423,7 +424,7 @@
 fmod(const quantity<Unit,Y>& q1, const quantity<Unit,Y>& q2)
 {
     using std::fmod;
-
+
     typedef quantity<Unit,Y> quantity_type;
 
     return quantity_type::from_value(fmod(q1.value(), q2.value()));
@@ -453,7 +454,7 @@
     return quantity_type::from_value(frexp(q.value(),ex));
 }
 
-/// For non-dimensionless quantities, integral and rational powers
+/// For non-dimensionless quantities, integral and rational powers
 /// and roots can be computed by @c pow<Ex> and @c root<Rt> respectively.
 template<class S, class Y>
 inline
@@ -517,7 +518,7 @@
 }
 
 template<class Unit,class Y>
-inline
+inline
 typename root_typeof_helper<
                             quantity<Unit,Y>,
                             static_rational<2>
@@ -546,7 +547,7 @@
 
 /// cos of theta in radians
 template<class Y>
-typename dimensionless_quantity<si::system,Y>::type
+typename dimensionless_quantity<si::system,Y>::type
 cos(const quantity<si::plane_angle,Y>& theta)
 {
     using std::cos;
@@ -555,7 +556,7 @@
 
 /// sin of theta in radians
 template<class Y>
-typename dimensionless_quantity<si::system,Y>::type
+typename dimensionless_quantity<si::system,Y>::type
 sin(const quantity<si::plane_angle,Y>& theta)
 {
     using std::sin;
@@ -564,32 +565,32 @@
 
 /// tan of theta in radians
 template<class Y>
-typename dimensionless_quantity<si::system,Y>::type
+typename dimensionless_quantity<si::system,Y>::type
 tan(const quantity<si::plane_angle,Y>& theta)
 {
     using std::tan;
     return tan(theta.value());
 }
 
-/// cos of theta in other angular units
+/// cos of theta in other angular units
 template<class System,class Y>
-typename dimensionless_quantity<System,Y>::type
+typename dimensionless_quantity<System,Y>::type
 cos(const quantity<unit<plane_angle_dimension,System>,Y>& theta)
 {
     return cos(quantity<si::plane_angle,Y>(theta));
 }
 
-/// sin of theta in other angular units
+/// sin of theta in other angular units
 template<class System,class Y>
-typename dimensionless_quantity<System,Y>::type
+typename dimensionless_quantity<System,Y>::type
 sin(const quantity<unit<plane_angle_dimension,System>,Y>& theta)
 {
     return sin(quantity<si::plane_angle,Y>(theta));
 }
 
-/// tan of theta in other angular units
+/// tan of theta in other angular units
 template<class System,class Y>
-typename dimensionless_quantity<System,Y>::type
+typename dimensionless_quantity<System,Y>::type
 tan(const quantity<unit<plane_angle_dimension,System>,Y>& theta)
 {
     return tan(quantity<si::plane_angle,Y>(theta));

Modified: branches/units/autoprefix/boost/units/config.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/config.hpp (original)
+++ branches/units/autoprefix/boost/units/config.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,6 +8,12 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
+///
+/// \file
+/// \brief Boost units library configuration and Doxygen mainpage.
+/// \details BOOST_UNITS_HAS_BOOST_TYPEOF, BOOST_UNITS_REQUIRE_LAYOUT_COMPATIBILITY
+///
+
 #ifndef BOOST_UNITS_CONFIG_HPP
 #define BOOST_UNITS_CONFIG_HPP
 
@@ -22,13 +28,13 @@
         ///INTERNAL ONLY
         #define BOOST_UNITS_HAS_BOOST_TYPEOF 0
     #endif
-#endif
+#endif
 
 #if (BOOST_UNITS_HAS_BOOST_TYPEOF)
- #include <boost/typeof/typeof.hpp>
+ #include <boost/typeof/typeof.hpp>
     ///INTERNAL ONLY
     #define BOOST_UNITS_HAS_TYPEOF 1
-#else
+#else
     #if (__GNUC__ && __cplusplus && __GNUC__ >= 3)
         ///INTERNAL ONLY
         #define BOOST_UNITS_HAS_TYPEOF 1
@@ -90,7 +96,7 @@
 
 /*! \mainpage Boost.Units
 
-A C++ library for zero-overhead dimensional analysis and
+A C++ library for zero-overhead dimensional analysis and
 unit and quantity manipulation and conversion.
 
 Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -102,11 +108,13 @@
 This is a standalone index produced by the Doxygen Doxywizard GUI using information in the units/doc/doxygen/doxyfile.
 
 A full index that includes the full documentation and tutorial is at
-http://www.boost.org/doc/libs/1_42_0/doc/html//boost_units.html.
+
+http://www.boost.org/doc/libs/1_42_0/libs/units/index.html
 
 */ // end mainpage
 
-/// Defined in jamfile.v2 line 30 during buildof documentation.
+/// Defined in jamfile.v2 line 30 during build of documentation,
+/// to ensure these macros are documented.
 #ifdef BOOST_UNITS_DOXYGEN
 
 /// If defined will trigger a static assertion if quantity<Unit, T>

Modified: branches/units/autoprefix/boost/units/conversion.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/conversion.hpp (original)
+++ branches/units/autoprefix/boost/units/conversion.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_CONVERSION_HPP
 #define BOOST_UNITS_CONVERSION_HPP
 
+///
+/// \file
+/// \brief Template for defining conversions between quantities.
+///
+
 #include <boost/units/detail/conversion_impl.hpp>
 
 namespace boost {
@@ -22,6 +27,7 @@
 
 #ifdef BOOST_UNITS_DOXYGEN
 
+/// \details
 /// Template for defining conversions between
 /// quantities. This template should be specialized
 /// for every quantity that allows conversions.

Modified: branches/units/autoprefix/boost/units/derived_dimension.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/derived_dimension.hpp (original)
+++ branches/units/autoprefix/boost/units/derived_dimension.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_DERIVED_DIMENSION_HPP
 #define BOOST_UNITS_DERIVED_DIMENSION_HPP
 
+///
+/// \file
+/// \brief Utility classes for defining composite and derived dimensions with integer powers.
+/// \details
+///
 #include <boost/units/dim.hpp>
 #include <boost/units/dimension.hpp>
 #include <boost/units/static_rational.hpp>
@@ -35,7 +40,7 @@
 #ifdef BOOST_UNITS_DOXYGEN
     typedef detail::unspecified type;
 #else
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >,
                          list< dim< DT3,static_rational<E3> >,
@@ -59,7 +64,7 @@
     dimensionless_type,0,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >, dimensionless_type > >::type type;
 };
 
@@ -76,7 +81,7 @@
     dimensionless_type,0,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >, dimensionless_type > > >::type type;
 };
@@ -95,7 +100,7 @@
     dimensionless_type,0,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >,
                          list< dim< DT3,static_rational<E3> >, dimensionless_type > > > >::type type;
@@ -116,7 +121,7 @@
     dimensionless_type,0,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >,
                          list< dim< DT3,static_rational<E3> >,
@@ -139,7 +144,7 @@
     dimensionless_type,0,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >,
                          list< dim< DT3,static_rational<E3> >,
@@ -164,7 +169,7 @@
     dimensionless_type,0,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >,
                          list< dim< DT3,static_rational<E3> >,
@@ -191,7 +196,7 @@
     DT7, E7,
     dimensionless_type,0>
 {
- typedef typename
+ typedef typename
     make_dimension_list< list< dim< DT1,static_rational<E1> >,
                          list< dim< DT2,static_rational<E2> >,
                          list< dim< DT3,static_rational<E3> >,
@@ -203,6 +208,6 @@
 
 } // namespace units
 
-} // namespace boost
+} // namespace boost
 
 #endif // BOOST_UNITS_DERIVED_DIMENSION_HPP

Modified: branches/units/autoprefix/boost/units/dim.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/dim.hpp (original)
+++ branches/units/autoprefix/boost/units/dim.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,33 +11,13 @@
 #ifndef BOOST_UNITS_DIM_HPP
 #define BOOST_UNITS_DIM_HPP
 
-#include <boost/static_assert.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/mpl/arithmetic.hpp>
-
-#include <boost/units/config.hpp>
-#include <boost/units/static_rational.hpp>
-#include <boost/units/detail/dim_impl.hpp>
-
-/// \file dim.hpp
-/// \brief Handling of fundamental dimension/exponent pairs.
-
-namespace boost {
-namespace units {
-namespace detail
-{
- struct dim_tag { };
-}
-
-/// \brief Dimension tag/exponent pair for a single fundamental dimension.
 ///
-/// \details
-/// The dim class represents a single dimension tag/dimension exponent pair.
+/// \file
+/// \brief Handling of fundamental dimension/exponent pairs.
+/// \details The dim class represents a single dimension tag/dimension exponent pair.
 /// That is, @c dim<tag_type,value_type> is a pair where @c tag_type represents the
-/// fundamental dimension being represented and @c value_type represents the
-/// exponent of that fundamental dimension as a @c static_rational. @c tag_type must
+/// fundamental dimension being represented and @c value_type represents the
+/// exponent of that fundamental dimension as a @c static_rational. @c tag_type must
 /// be a derived from a specialization of @c base_dimension.
 /// Specialization of the following Boost.MPL metafunctions are provided
 ///
@@ -54,7 +34,26 @@
 /// - @c mpl::divides for a @c static_rational and a @c dim in either order
 ///
 /// These metafunctions likewise operate on the exponent only.
-template<typename T,typename V>
+///
+
+#include <boost/static_assert.hpp>
+
+#include <boost/type_traits/is_same.hpp>
+
+#include <boost/mpl/arithmetic.hpp>
+
+#include <boost/units/config.hpp>
+#include <boost/units/static_rational.hpp>
+#include <boost/units/detail/dim_impl.hpp>
+
+namespace boost {
+namespace units {
+namespace detail
+{
+ struct dim_tag { };
+}
+
+template<typename T,typename V>
 struct dim
 {
     typedef dim type;
@@ -81,7 +80,7 @@
 
 namespace mpl {
 
-// define MPL operators acting on dim<T,V>
+/// define MPL operators acting on dim<T,V>
 
 template<>
 struct plus_impl<boost::units::detail::dim_tag,boost::units::detail::dim_tag>

Modified: branches/units/autoprefix/boost/units/dimension.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/dimension.hpp (original)
+++ branches/units/autoprefix/boost/units/dimension.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,26 +11,12 @@
 #ifndef BOOST_UNITS_DIMENSION_HPP
 #define BOOST_UNITS_DIMENSION_HPP
 
-#include <boost/static_assert.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/mpl/arithmetic.hpp>
-
-#include <boost/units/static_rational.hpp>
-#include <boost/units/detail/dimension_list.hpp>
-#include <boost/units/detail/dimension_impl.hpp>
-
-/// \file
+///
+/// \file
 /// \brief Core metaprogramming utilities for compile-time dimensional analysis.
-
-namespace boost {
-
-namespace units {
-
-/// Reduce dimension list to cardinal form. This algorithm collapses duplicate
+/// \details Reduce dimension list to cardinal form. This algorithm collapses duplicate
 /// base dimension tags and sorts the resulting list by the tag ordinal value.
-/// Dimension lists that resolve to the same dimension are guaranteed to be
+/// Dimension lists that resolve to the same dimension are guaranteed to be
 /// represented by an identical type.
 ///
 /// The argument should be an MPL forward sequence containing instances
@@ -50,6 +36,22 @@
 /// the exponents of the dimension by the static_rational.
 /// - @c static_root takes a dimension and a static_rational and divides all
 /// the exponents of the dimension by the static_rational.
+///
+
+#include <boost/static_assert.hpp>
+
+#include <boost/type_traits/is_same.hpp>
+
+#include <boost/mpl/arithmetic.hpp>
+
+#include <boost/units/static_rational.hpp>
+#include <boost/units/detail/dimension_list.hpp>
+#include <boost/units/detail/dimension_impl.hpp>
+
+namespace boost {
+
+namespace units {
+
 template<typename Seq>
 struct make_dimension_list
 {
@@ -57,23 +59,23 @@
 };
 
 /// Raise a dimension list to a scalar power.
-template<typename DL,typename Ex>
+template<typename DL,typename Ex>
 struct static_power
 {
     typedef typename detail::static_power_impl<DL::size::value>::template apply<
         DL,
         Ex
- >::type type;
+ >::type type;
 };
 
 /// Take a scalar root of a dimension list.
-template<typename DL,typename Rt>
+template<typename DL,typename Rt>
 struct static_root
 {
     typedef typename detail::static_root_impl<DL::size::value>::template apply<
         DL,
         Rt
- >::type type;
+ >::type type;
 };
 
 } // namespace units

Modified: branches/units/autoprefix/boost/units/dimensionless_quantity.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/dimensionless_quantity.hpp (original)
+++ branches/units/autoprefix/boost/units/dimensionless_quantity.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_DIMENSIONLESS_QUANTITY_HPP
 #define BOOST_UNITS_DIMENSIONLESS_QUANTITY_HPP
 
+///
+/// \file
+/// \brief Utility class to simplify construction of dimensionless quantities.
+///
+
 #include <boost/units/dimensionless_unit.hpp>
 #include <boost/units/quantity.hpp>
 
@@ -18,7 +23,7 @@
 
 namespace units {
 
-/// utility class to simplify construction of dimensionless quantities
+/// Utility class to simplify construction of dimensionless quantities.
 template<class System,class Y>
 struct dimensionless_quantity
 {

Modified: branches/units/autoprefix/boost/units/dimensionless_type.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/dimensionless_type.hpp (original)
+++ branches/units/autoprefix/boost/units/dimensionless_type.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_DIMENSIONLESS_TYPE_HPP
 #define BOOST_UNITS_DIMENSIONLESS_TYPE_HPP
 
+///
+/// \file
+/// \brief Dimension lists in which all exponents resolve to zero reduce to @c dimensionless_type.
+///
+
 #include <boost/mpl/long.hpp>
 #include <boost/mpl/deref.hpp>
 #include <boost/mpl/arithmetic.hpp>
@@ -42,9 +47,7 @@
 #if BOOST_UNITS_HAS_BOOST_TYPEOF
 
 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TYPE(boost::units::dimensionless_type)
-
+ BOOST_TYPEOF_REGISTER_TYPE(boost::units::dimensionless_type)
 #endif
 
 #endif // BOOST_UNITS_DIMENSIONLESS_TYPE_HPP

Modified: branches/units/autoprefix/boost/units/dimensionless_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/dimensionless_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/dimensionless_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_DIMENSIONLESS_UNIT_HPP
 #define BOOST_UNITS_DIMENSIONLESS_UNIT_HPP
 
+///
+/// \file
+/// \brief Utility class to simplify construction of dimensionless units in a system.
+///
+
 #include <boost/units/dimensionless_type.hpp>
 #include <boost/units/unit.hpp>
 
@@ -18,7 +23,7 @@
 
 namespace units {
 
-/// utility class to simplify construction of dimensionless units in a system
+/// Utility class to simplify construction of dimensionless units in a system.
 template<class System>
 struct dimensionless_unit
 {

Modified: branches/units/autoprefix/boost/units/get_dimension.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/get_dimension.hpp (original)
+++ branches/units/autoprefix/boost/units/get_dimension.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,12 @@
 #ifndef BOOST_UNITS_GET_DIMENSION_HPP
 #define BOOST_UNITS_GET_DIMENSION_HPP
 
+///
+/// \file
+/// \brief Get the dimension of a unit, absolute unit and quantity.
+/// \details
+///
+
 #include <boost/units/units_fwd.hpp>
 
 namespace boost {
@@ -20,21 +26,21 @@
 template<class T>
 struct get_dimension {};
 
-/// get the dimension of a unit
+/// Get the dimension of a unit.
 template<class Dim,class System>
 struct get_dimension< unit<Dim,System> >
 {
     typedef Dim type;
 };
 
-/// get the dimension of an absolute unit
+/// Get the dimension of an absolute unit.
 template<class Unit>
 struct get_dimension< absolute<Unit> >
 {
     typedef typename get_dimension<Unit>::type type;
 };
 
-/// get the dimension of a quantity
+/// Get the dimension of a quantity.
 template<class Unit,class Y>
 struct get_dimension< quantity<Unit,Y> >
 {

Modified: branches/units/autoprefix/boost/units/get_system.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/get_system.hpp (original)
+++ branches/units/autoprefix/boost/units/get_system.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_GET_SYSTEM_HPP
 #define BOOST_UNITS_GET_SYSTEM_HPP
 
+///
+/// \file
+/// \brief Get the system of a unit, absolute unit or quantity.
+///
+
 #include <boost/units/units_fwd.hpp>
 
 namespace boost {
@@ -20,21 +25,21 @@
 template<class T>
 struct get_system {};
 
-/// get the system of a unit
+/// Get the system of a unit.
 template<class Dim,class System>
 struct get_system< unit<Dim,System> >
 {
     typedef System type;
 };
 
-/// get the system of an absolute unit
+/// Get the system of an absolute unit.
 template<class Unit>
 struct get_system< absolute<Unit> >
 {
     typedef typename get_system<Unit>::type type;
 };
 
-/// get the system of a quantity
+/// Get the system of a quantity.
 template<class Unit,class Y>
 struct get_system< quantity<Unit,Y> >
 {

Modified: branches/units/autoprefix/boost/units/heterogeneous_system.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/heterogeneous_system.hpp (original)
+++ branches/units/autoprefix/boost/units/heterogeneous_system.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,13 @@
 #ifndef BOOST_UNITS_HETEROGENEOUS_SYSTEM_HPP
 #define BOOST_UNITS_HETEROGENEOUS_SYSTEM_HPP
 
+///
+/// \file
+/// \brief A heterogeneous system is a sorted list of base unit/exponent pairs.
+/// \details As long as we don't need to convert heterogeneous systems
+/// directly everything is cool.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/plus.hpp>
 #include <boost/mpl/times.hpp>
@@ -45,7 +52,7 @@
 // A normal system is a sorted list of base units.
 // A heterogeneous system is a sorted list of base unit/exponent pairs.
 // As long as we don't need to convert heterogeneous systems
-// directly everything is cool
+// directly everything is cool.
 
 template<class T>
 struct is_zero : mpl::false_ {};

Modified: branches/units/autoprefix/boost/units/homogeneous_system.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/homogeneous_system.hpp (original)
+++ branches/units/autoprefix/boost/units/homogeneous_system.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,15 @@
 #ifndef BOOST_UNITS_HOMOGENEOUS_SYSTEM_HPP_INCLUDED
 #define BOOST_UNITS_HOMOGENEOUS_SYSTEM_HPP_INCLUDED
 
+///
+/// \file
+/// \brief Homogeneous systems.
+/// \details A system that can uniquely represent any unit
+/// which can be composed from a linearly independent set
+/// of base units. It is safe to rebind a unit with
+/// such a system to different dimensions.
+///
+
 #include <boost/mpl/bool.hpp>
 
 #include <boost/units/config.hpp>
@@ -29,11 +38,7 @@
 
 namespace units {
 
-/// A system that can uniquely represent any unit
-/// which can be composed from a linearly independent set
-/// of base units. It is safe to rebind a unit with
-/// such a system to different dimensions.
-///
+
 /// Do not construct this template directly. Use
 /// make_system instead.
 template<class L>

Modified: branches/units/autoprefix/boost/units/io.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/io.hpp (original)
+++ branches/units/autoprefix/boost/units/io.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,12 +11,13 @@
 #ifndef BOOST_UNITS_IO_HPP
 #define BOOST_UNITS_IO_HPP
 
+///
 /// \file
-
-/// \brief Stream Input and output for rationals, units and quantities.
+/// \brief Stream input and output for rationals, units and quantities.
 /// \details Functions and manipulators for output and input of units and quantities.
-/// symbol and name format, and engineering and binary autoprefix.
-/// Serialisation output is also supported.
+/// symbol and name format, and engineering and binary autoprefix.
+/// Serialisation output is also supported.
+///
 
 #include <cassert>
 #include <cmath>
@@ -38,7 +39,8 @@
 
 namespace boost {
 
-namespace serialization {
+namespace serialization
+{ /// \namespace serialization for classes providing support for Boost Serialization library.
 
 /// Boost Serialization library support for units.
 template<class Archive,class System,class Dim>
@@ -51,7 +53,7 @@
 {
     ar & boost::serialization::make_nvp("value", units::quantity_cast<Y&>(q));
 }
-
+
 } // namespace serialization
 
 namespace units {
@@ -59,8 +61,8 @@
 /// get string representation of arbitrary type.
 template<class T> std::string to_string(const T& t)
 {
- std::stringstream sstr;
- sstr << t;
+ std::stringstream sstr;
+ sstr << t;
     return sstr.str();
 }
 
@@ -95,16 +97,16 @@
     {
         return(BaseUnit::name()); /// \returns BaseUnit::name(), for example "meter"
     }
-
+
     /// The symbol for the base unit.
-
+
     static std::string symbol()
     {
         return(BaseUnit::symbol()); /// \returns BaseUnit::symbol(), for example "m"
     }
 };
 
-enum format_mode
+enum format_mode
 { /// \enum format_mode format of output of units, for example "m" or "meter".
     symbol_fmt = 0, /// default - reduces unit names to known symbols for both base and derived units.
     name_fmt = 1, /// output full unit names for base and derived units, for example "meter".
@@ -124,7 +126,7 @@
 namespace detail {
 
 template<bool>
-struct xalloc_key_holder
+struct xalloc_key_holder
 {
     static int value;
     static bool initialized;
@@ -136,11 +138,11 @@
 template<bool b>
 bool xalloc_key_holder<b>::initialized = 0;
 
-struct xalloc_key_initializer_t
+struct xalloc_key_initializer_t
 {
- xalloc_key_initializer_t()
+ xalloc_key_initializer_t()
     {
- if (!xalloc_key_holder<true>::initialized)
+ if (!xalloc_key_holder<true>::initialized)
         {
             xalloc_key_holder<true>::value = std::ios_base::xalloc();
             xalloc_key_holder<true>::initialized = true;
@@ -149,19 +151,19 @@
 };
 
 namespace /**/ {
-
+
 xalloc_key_initializer_t xalloc_key_initializer;
 
 } // namespace
 
 } // namespace detail
 
-inline int get_flags(std::ios_base& ios, int mask)
+inline int get_flags(std::ios_base& ios, int mask)
 { /// \return flags controlling output.
     return(ios.iword(detail::xalloc_key_holder<true>::value) & mask);
 }
 
-inline void set_flags(std::ios_base& ios, int new_flags, int mask)
+inline void set_flags(std::ios_base& ios, int new_flags, int mask)
 { /// Set new flags controlling output format.
   /// \return previous flags.
 
@@ -170,7 +172,7 @@
     flags = (flags & ~mask) | static_cast<long>(new_flags);
 }
 
-inline format_mode get_format(std::ios_base& ios)
+inline format_mode get_format(std::ios_base& ios)
 { /// \return flags controlling output format.
     return(static_cast<format_mode>((get_flags)(ios, fmt_mask)));
 }
@@ -180,26 +182,26 @@
      (set_flags)(ios, new_mode, fmt_mask);
 }
 
-inline std::ios_base& typename_format(std::ios_base& ios)
+inline std::ios_base& typename_format(std::ios_base& ios)
 { /// Set new flags for type_name output format.
  /// \return previous format flags.
     (set_format)(ios, typename_fmt);
     return(ios);
 }
 
-inline std::ios_base& raw_format(std::ios_base& ios)
+inline std::ios_base& raw_format(std::ios_base& ios)
 { /// set new flag for raw format output, for example "m".
      (set_format)(ios, raw_fmt); /// \return previous format flags.
     return(ios);
 }
 
-inline std::ios_base& symbol_format(std::ios_base& ios)
+inline std::ios_base& symbol_format(std::ios_base& ios)
 { // set new format flag for symbol output, for example "m".
     (set_format)(ios, symbol_fmt); /// \return previous format flags.
     return(ios);
 }
 
-inline std::ios_base& name_format(std::ios_base& ios)
+inline std::ios_base& name_format(std::ios_base& ios)
 { /// set new format for name output, for example "meter".
     (set_format)(ios, name_fmt);
     return(ios); /// \return previous format flags.
@@ -207,7 +209,7 @@
 
 inline autoprefix_mode get_autoprefix(std::ios_base& ios)
 { /// get autoprefix flags for output.
-
+
     return static_cast<autoprefix_mode>((get_flags)(ios, autoprefix_mask));
 }
 
@@ -218,14 +220,14 @@
 
 inline std::ios_base& no_prefix(std::ios_base& ios)
 { /// Clear autoprefix flags.
-
+
     (set_autoprefix)(ios, autoprefix_none);
     return ios; /// \return previous prefix flags.
 }
 
 inline std::ios_base& engineering_prefix(std::ios_base& ios)
 { /// Set flag for engineering prefix, so 1234.5 m displays as "1.2345 km".
-
+
     (set_autoprefix)(ios, autoprefix_engineering);
     return ios; /// \return previous prefix flags.
 }
@@ -256,7 +258,7 @@
     return base_unit_info<typename T::tag_type>::symbol() + exponent_string(typename T::value_type());
 }
 
-template<class T>
+template<class T>
 inline std::string base_unit_name_string(const T&)
 {
     return base_unit_info<typename T::tag_type>::name() + exponent_string(typename T::value_type());
@@ -306,12 +308,12 @@
 };
 
 template<int N>
-struct scale_symbol_string_impl
+struct scale_symbol_string_impl
 {
     template<class Begin>
- struct apply
+ struct apply
     {
- static void value(std::string& str)
+ static void value(std::string& str)
         {
             str += Begin::item::symbol();
             scale_symbol_string_impl<N - 1>::template apply<typename Begin::next>::value(str);
@@ -323,7 +325,7 @@
 struct scale_symbol_string_impl<0>
 {
     template<class Begin>
- struct apply
+ struct apply
     {
         static void value(std::string&) { }
     };
@@ -372,12 +374,12 @@
 };
 
 template<int N>
-struct scale_name_string_impl
+struct scale_name_string_impl
 {
     template<class Begin>
- struct apply
+ struct apply
     {
- static void value(std::string& str)
+ static void value(std::string& str)
         {
             str += Begin::item::name();
             scale_name_string_impl<N - 1>::template apply<typename Begin::next>::value(str);
@@ -389,7 +391,7 @@
 struct scale_name_string_impl<0>
 {
     template<class Begin>
- struct apply
+ struct apply
     {
         static void value(std::string&) { }
     };
@@ -453,14 +455,14 @@
     f.template append_scale_to<Scale>(str);
 
     std::string without_scale = f(unit<Dimension, heterogeneous_system<heterogeneous_system_impl<Units, Dimension, dimensionless_type> > >());
-
+
     if (f.is_default_string(without_scale, unit<Dimension, heterogeneous_system<heterogeneous_system_impl<Units, Dimension, dimensionless_type> > >()))
     {
         str += "(";
         str += without_scale;
         str += ")";
- }
- else
+ }
+ else
     {
         str += without_scale;
     }
@@ -774,14 +776,14 @@
     std::string str;
 
     std::string without_scale = f(unit<Dimension, heterogeneous_system<heterogeneous_system_impl<Units, Dimension, dimensionless_type> > >());
-
+
     if (f.is_default_string(without_scale, unit<Dimension, heterogeneous_system<heterogeneous_system_impl<Units, Dimension, dimensionless_type> > >()))
     {
         str += "(";
         str += without_scale;
         str += ")";
- }
- else
+ }
+ else
     {
         str += without_scale;
     }
@@ -945,27 +947,27 @@
 template<class Char, class Traits, class Dimension, class System>
 inline std::basic_ostream<Char, Traits>& operator<<(std::basic_ostream<Char, Traits>& os, const unit<Dimension, System>& u)
 {
- if (units::get_format(os) == typename_fmt)
+ if (units::get_format(os) == typename_fmt)
     {
         detail::do_print(os, typename_string(u));
     }
- else if (units::get_format(os) == raw_fmt)
+ else if (units::get_format(os) == raw_fmt)
     {
         detail::do_print(os, detail::to_string_impl(u, detail::format_raw_symbol_impl()));
     }
- else if (units::get_format(os) == symbol_fmt)
+ else if (units::get_format(os) == symbol_fmt)
     {
         detail::do_print(os, symbol_string(u));
     }
- else if (units::get_format(os) == name_fmt)
+ else if (units::get_format(os) == name_fmt)
     {
         detail::do_print(os, name_string(u));
     }
- else
+ else
     {
         assert(!"The format mode must be one of: typename_format, raw_format, name_format, symbol_format");
     }
-
+
     return(os);
 }
 

Modified: branches/units/autoprefix/boost/units/is_dim.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_dim.hpp (original)
+++ branches/units/autoprefix/boost/units/is_dim.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_DIM_HPP
 #define BOOST_UNITS_IS_DIM_HPP
 
+///
+/// \file
+/// \brief Check that a type is a valid @c dim.
+///
+
 #include <boost/mpl/bool.hpp>
 
 #include <boost/units/units_fwd.hpp>
@@ -20,7 +25,7 @@
 namespace units {
 
 /// Check that a type is a valid @c dim.
-template<typename T>
+template<typename T>
 struct is_dim :
     public mpl::false_
 { };

Modified: branches/units/autoprefix/boost/units/is_dimension_list.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_dimension_list.hpp (original)
+++ branches/units/autoprefix/boost/units/is_dimension_list.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_DIMENSION_LIST_HPP
 #define BOOST_UNITS_IS_DIMENSION_LIST_HPP
 
+///
+/// \file
+/// \brief Check that a type is a valid dimension list.
+///
+
 #include <boost/mpl/bool.hpp>
 
 #include <boost/units/units_fwd.hpp>

Modified: branches/units/autoprefix/boost/units/is_dimensionless.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_dimensionless.hpp (original)
+++ branches/units/autoprefix/boost/units/is_dimensionless.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,6 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+
+
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +13,11 @@
 #ifndef BOOST_UNITS_IS_DIMENSIONLESS_HPP
 #define BOOST_UNITS_IS_DIMENSIONLESS_HPP
 
+///
+/// \file
+/// \brief Check if a unit or quantity is dimensionless.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -23,13 +30,13 @@
     public mpl::false_
 { };
 
-/// check if a unit is dimensionless
+/// Check if a unit is dimensionless.
 template<class System>
 struct is_dimensionless< unit<dimensionless_type,System> > :
     public mpl::true_
 { };
 
-/// check if a quantity is dimensionless
+/// Check if a quantity is dimensionless.
 template<class Unit,class Y>
 struct is_dimensionless< quantity<Unit,Y> > :
     public is_dimensionless<Unit>

Modified: branches/units/autoprefix/boost/units/is_dimensionless_quantity.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_dimensionless_quantity.hpp (original)
+++ branches/units/autoprefix/boost/units/is_dimensionless_quantity.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_DIMENSIONLESS_QUANTITY_HPP
 #define BOOST_UNITS_IS_DIMENSIONLESS_QUANTITY_HPP
 
+///
+/// \file
+/// \brief check that a type is a dimensionless quantity
+///
+
 #include <boost/units/is_quantity_of_dimension.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -18,7 +23,7 @@
 
 namespace units {
 
-/// check that a type is a dimensionless quantity
+/// Check that a type is a dimensionless quantity.
 template<class T>
 struct is_dimensionless_quantity :
     public is_quantity_of_dimension<T,dimensionless_type>

Modified: branches/units/autoprefix/boost/units/is_dimensionless_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_dimensionless_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/is_dimensionless_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_DIMENSIONLESS_UNIT_HPP
 #define BOOST_UNITS_IS_DIMENSIONLESS_UNIT_HPP
 
+///
+/// \file
+/// \brief Check that a type is a dimensionless unit.
+///
+
 #include <boost/units/is_unit_of_dimension.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -18,7 +23,7 @@
 
 namespace units {
 
-/// check that a type is a dimensionless unit
+/// Check that a type is a dimensionless unit.
 template<class T>
 struct is_dimensionless_unit :
     public is_unit_of_dimension<T,dimensionless_type>

Modified: branches/units/autoprefix/boost/units/is_quantity.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_quantity.hpp (original)
+++ branches/units/autoprefix/boost/units/is_quantity.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_QUANTITY_HPP
 #define BOOST_UNITS_IS_QUANTITY_HPP
 
+///
+/// \file
+/// \brief Check that a type is a quantity.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -18,7 +23,7 @@
 
 namespace units {
 
-/// check that a type is a quantity
+/// Check that a type is a quantity.
 template<typename T>
 struct is_quantity :
     public mpl::false_
@@ -26,7 +31,7 @@
 
 template<class Unit,
          class Y>
-struct is_quantity< quantity<Unit,Y> > :
+struct is_quantity< quantity<Unit,Y> > :
     public mpl::true_
 { };
 

Modified: branches/units/autoprefix/boost/units/is_quantity_of_dimension.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_quantity_of_dimension.hpp (original)
+++ branches/units/autoprefix/boost/units/is_quantity_of_dimension.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_QUANTITY_OF_DIMENSION_HPP
 #define BOOST_UNITS_IS_QUANTITY_OF_DIMENSION_HPP
 
+///
+/// \file
+/// \brief Check that a type is a quantity of the specified dimension.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 #include <boost/units/is_unit_of_dimension.hpp>
@@ -19,7 +24,7 @@
 
 namespace units {
 
-/// check that a type is a quantity of the specified dimension
+/// Check that a type is a quantity of the specified dimension.
 template<class T,class Dim>
 struct is_quantity_of_dimension :
     public mpl::false_

Modified: branches/units/autoprefix/boost/units/is_quantity_of_system.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_quantity_of_system.hpp (original)
+++ branches/units/autoprefix/boost/units/is_quantity_of_system.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_QUANTITY_OF_SYSTEM_HPP
 #define BOOST_UNITS_IS_QUANTITY_OF_SYSTEM_HPP
 
+///
+/// \file
+/// \brief Check that a type is a quantity in a specified system.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 #include <boost/units/is_unit_of_system.hpp>
@@ -19,7 +24,7 @@
 
 namespace units {
 
-/// check that a type is a quantity in a specified system
+/// Check that a type is a quantity in a specified system.
 template<class T,class System>
 struct is_quantity_of_system :
     public mpl::false_

Modified: branches/units/autoprefix/boost/units/is_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/is_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_UNIT_HPP
 #define BOOST_UNITS_IS_UNIT_HPP
 
+///
+/// \file
+/// \brief Check that a type is a unit.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -18,9 +23,9 @@
 
 namespace units {
 
-/// check that a type is a unit
+/// Check that a type is a unit.
 template<class T>
-struct is_unit :
+struct is_unit :
     public mpl::false_
 { };
 

Modified: branches/units/autoprefix/boost/units/is_unit_of_dimension.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_unit_of_dimension.hpp (original)
+++ branches/units/autoprefix/boost/units/is_unit_of_dimension.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_UNIT_OF_DIMENSION_HPP
 #define BOOST_UNITS_IS_UNIT_OF_DIMENSION_HPP
 
+///
+/// \file
+/// \brief Check that a type is a unit of the specified dimension.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -18,7 +23,7 @@
 
 namespace units {
 
-/// check that a type is a unit of the specified dimension
+/// Check that a type is a unit of the specified dimension.
 template<class T,class Dim>
 struct is_unit_of_dimension :
     public mpl::false_

Modified: branches/units/autoprefix/boost/units/is_unit_of_system.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/is_unit_of_system.hpp (original)
+++ branches/units/autoprefix/boost/units/is_unit_of_system.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_IS_UNIT_OF_SYSTEM_HPP
 #define BOOST_UNITS_IS_UNIT_OF_SYSTEM_HPP
 
+///
+/// \file
+/// \brief Check that a type is a unit in a specified system.
+///
+
 #include <boost/mpl/bool.hpp>
 #include <boost/units/units_fwd.hpp>
 
@@ -18,17 +23,17 @@
 
 namespace units {
 
-/// check that a type is a unit in a specified system
+/// Check that a type is a unit in a specified system.
 template<class T,class System>
 struct is_unit_of_system :
     public mpl::false_
 { };
-
+
 template<class Dim,class System>
 struct is_unit_of_system< unit<Dim,System>,System > :
     public mpl::true_
 { };
-
+
 template<class Dim,class System>
 struct is_unit_of_system< absolute<unit<Dim,System> >,System > :
     public mpl::true_

Modified: branches/units/autoprefix/boost/units/lambda.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/lambda.hpp (original)
+++ branches/units/autoprefix/boost/units/lambda.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -13,7 +13,6 @@
 #ifndef BOOST_UNITS_LAMBDA_HPP
 #define BOOST_UNITS_LAMBDA_HPP
 
-
 ////////////////////////////////////////////////////////////////////////
 ///
 /// \file lambda.hpp
@@ -25,7 +24,7 @@
 /// \author Torsten Maehne
 /// \date 2008-06-16
 ///
-/// Boost.Lambda's return type deduction system is extented to make
+/// \details Boost.Lambda's return type deduction system is extented to make
 /// use of Boost.Units' typeof_helper trait classes for Boost.Units'
 /// quantity, absolute, and unit template classes.
 ///
@@ -519,7 +518,7 @@
 } // namespace lambda
 
 namespace units {
-
+
     template<typename System, typename Dim, typename Arg>
     struct multiply_typeof_helper<boost::lambda::lambda_functor<Arg>, boost::units::absolute<boost::units::unit<Dim, System> > > {
         typedef boost::lambda::lambda_functor<
@@ -561,7 +560,7 @@
 } // namespace lambda
 
 namespace units {
-
+
     template<typename System, typename Dim, typename Arg>
     struct multiply_typeof_helper<boost::units::absolute<boost::units::unit<Dim, System> >, boost::lambda::lambda_functor<Arg> > {
         typedef boost::lambda::lambda_functor<

Modified: branches/units/autoprefix/boost/units/limits.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/limits.hpp (original)
+++ branches/units/autoprefix/boost/units/limits.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -7,9 +7,15 @@
 // 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_LIMITS_HPP
 #define BOOST_UNITS_LIMITS_HPP
 
+///
+/// \file
+/// \brief specialize std::numeric_limits for units.
+///
+
 #include <limits>
 
 #include <boost/units/units_fwd.hpp>

Modified: branches/units/autoprefix/boost/units/make_scaled_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/make_scaled_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/make_scaled_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_MAKE_SCALED_UNIT_HPP_INCLUDED
 #define BOOST_UNITS_MAKE_SCALED_UNIT_HPP_INCLUDED
 
+///
+/// \file
+/// \brief Make scaled unit.
+///
+
 #include <boost/units/units_fwd.hpp>
 #include <boost/units/heterogeneous_system.hpp>
 #include <boost/units/unit.hpp>

Modified: branches/units/autoprefix/boost/units/make_system.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/make_system.hpp (original)
+++ branches/units/autoprefix/boost/units/make_system.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,18 @@
 #ifndef BOOST_UNITS_MAKE_SYSTEM_HPP
 #define BOOST_UNITS_MAKE_SYSTEM_HPP
 
+///
+/// \file
+/// \brief Metafunction returning a homogeneous system that can
+/// represent any combination of the base units.
+/// \details
+/// Metafunction make_system returning a homogeneous system that can
+/// represent any combination of the base units. There must
+/// be no way to represent any of the base units in terms
+/// of the others. make_system<foot_base_unit, meter_base_unit>::type
+/// is not allowed, for example.
+///
+
 #include <boost/units/config.hpp>
 #include <boost/units/dimensionless_type.hpp>
 #include <boost/units/homogeneous_system.hpp>
@@ -29,7 +41,7 @@
 
 }
 
-/// Metafunction returning a homogeneous system that can
+/// Metafunction make_system returning a homogeneous system that can
 /// represent any combination of the base units. There must
 /// be no way to represent any of the base units in terms
 /// of the others. make_system<foot_base_unit, meter_base_unit>::type

Modified: branches/units/autoprefix/boost/units/operators.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/operators.hpp (original)
+++ branches/units/autoprefix/boost/units/operators.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,23 +8,25 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNITS_OPERATORS_HPP
+#ifndef BOOST_UNITS_OPERATORS_HPP
 #define BOOST_UNITS_OPERATORS_HPP
 
+
+///
+/// \file
+/// \brief Compile time operators and typeof helper classes.
+/// \details
+/// These operators declare the compile-time operators needed to support dimensional
+/// analysis algebra. They require the use of Boost.Typeof, emulation or native.
+/// Typeof helper classes define result type for heterogeneous operators on value types.
+/// These must be defined through specialization for powers and roots.
+///
+
 #include <boost/static_assert.hpp>
 #include <boost/type_traits/is_same.hpp>
 
 #include <boost/units/config.hpp>
 
-/// \file operators.hpp
-/// \brief Compile time operators and typeof helper classes.
-///
-/// \details
-/// These operators declare the compile-time operators needed to support dimensional
-/// analysis algebra. They require the use of Boost.Typeof, emulation or native.
-/// Typeof helper classes define result type for heterogeneous operators on value types.
-/// These must be defined through specialization for powers and roots.
-
 namespace boost {
 namespace units {
 
@@ -44,37 +46,37 @@
 
 #if (BOOST_UNITS_HAS_BOOST_TYPEOF)
 
-template<typename X> struct unary_plus_typeof_helper
+template<typename X> struct unary_plus_typeof_helper
 {
     BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (+typeof_::make<X>()))
     typedef typename nested::type type;
 };
 
-template<typename X> struct unary_minus_typeof_helper
+template<typename X> struct unary_minus_typeof_helper
 {
     BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (-typeof_::make<X>()))
     typedef typename nested::type type;
 };
 
-template<typename X,typename Y> struct add_typeof_helper
+template<typename X,typename Y> struct add_typeof_helper
 {
     BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (typeof_::make<X>()+typeof_::make<Y>()))
     typedef typename nested::type type;
 };
 
-template<typename X,typename Y> struct subtract_typeof_helper
+template<typename X,typename Y> struct subtract_typeof_helper
 {
     BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (typeof_::make<X>()-typeof_::make<Y>()))
     typedef typename nested::type type;
 };
 
-template<typename X,typename Y> struct multiply_typeof_helper
+template<typename X,typename Y> struct multiply_typeof_helper
 {
     BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (typeof_::make<X>()*typeof_::make<Y>()))
     typedef typename nested::type type;
 };
 
-template<typename X,typename Y> struct divide_typeof_helper
+template<typename X,typename Y> struct divide_typeof_helper
 {
     BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (typeof_::make<X>()/typeof_::make<Y>()))
     typedef typename nested::type type;

Modified: branches/units/autoprefix/boost/units/physical_dimensions.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/physical_dimensions.hpp (original)
+++ branches/units/autoprefix/boost/units/physical_dimensions.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,15 +11,12 @@
 #ifndef BOOST_UNITS_PHYSICAL_UNITS_HPP
 #define BOOST_UNITS_PHYSICAL_UNITS_HPP
 
-/// \file
-
-/// \brief Physical dimensions according to the SI system.
 ///
+/// \file
+/// \brief Physical dimensions according to the SI system.
 /// \details This header includes all physical dimension headers for both base
-/// derived dimensions.
-
-/// Base dimensions are extended to include plane and solid angle as separate dimensions
-/// to reduce the risk of confusion between the dimensions.
+/// and derived dimensions.
+///
 
 // Include all of the physical_dimension headers.
 
@@ -32,7 +29,7 @@
 #include <boost/units/physical_dimensions/temperature.hpp>
 #include <boost/units/physical_dimensions/time.hpp>
 
-// Base dimensions are extended to include plane and solid angle for convenience.
+// Base dimensions are extended to include plane and solid angle for convenience.
 #include <boost/units/physical_dimensions/plane_angle.hpp>
 #include <boost/units/physical_dimensions/solid_angle.hpp>
 

Modified: branches/units/autoprefix/boost/units/pow.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/pow.hpp (original)
+++ branches/units/autoprefix/boost/units/pow.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -8,7 +8,7 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNITS_POW_HPP
+#ifndef BOOST_UNITS_POW_HPP
 #define BOOST_UNITS_POW_HPP
 
 #include <boost/math_fwd.hpp>
@@ -18,8 +18,10 @@
 #include <boost/units/static_rational.hpp>
 #include <boost/units/detail/static_rational_power.hpp>
 
-/// \file pow.hpp
+///
+/// \file
 /// \brief Raise values to exponents known at compile-time.
+///
 
 namespace boost {
 
@@ -44,21 +46,21 @@
 #ifndef BOOST_UNITS_DOXYGEN
 
 /// raise @c T to a @c static_rational power.
-template<class T, long N,long D>
-struct power_typeof_helper<T, static_rational<N,D> >
-{
+template<class T, long N,long D>
+struct power_typeof_helper<T, static_rational<N,D> >
+{
     typedef typename mpl::if_<boost::is_integral<T>, double, T>::type internal_type;
     typedef detail::static_rational_power_impl<static_rational<N, D>, internal_type> impl;
- typedef typename impl::type type;
-
- static type value(const T& x)
+ typedef typename impl::type type;
+
+ static type value(const T& x)
     {
         return impl::call(x);
     }
 };
 
 /// raise @c float to a @c static_rational power.
-template<long N,long D>
+template<long N,long D>
 struct power_typeof_helper<float, static_rational<N,D> >
 {
     // N.B. pathscale doesn't accept inheritance for some reason.
@@ -91,7 +93,7 @@
 #ifndef BOOST_UNITS_DOXYGEN
 
 /// take @c static_rational root of an @c T
-template<class T, long N,long D>
+template<class T, long N,long D>
 struct root_typeof_helper<T,static_rational<N,D> >
 {
     // N.B. pathscale doesn't accept inheritance for some reason.

Modified: branches/units/autoprefix/boost/units/quantity.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/quantity.hpp (original)
+++ branches/units/autoprefix/boost/units/quantity.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,12 @@
 #ifndef BOOST_UNITS_QUANTITY_HPP
 #define BOOST_UNITS_QUANTITY_HPP
 
+///
+/// \file
+/// \brief unit class assingment and conversions.
+/// \details
+///
+
 #include <algorithm>
 
 #include <boost/config.hpp>
@@ -72,7 +78,7 @@
 template<>
 struct is_non_narrowing_conversion<long double, double> : mpl::false_ {};
 
-// msvc 7.1 needs extra disambiguation
+// msvc 7.1 needs extra disambiguation.
 template<class T, class U>
 struct disable_if_is_same
 {
@@ -83,36 +89,36 @@
 struct disable_if_is_same<T, T> {};
 
 }
-
-/// class declaration
+
+/// Quantity of Unit class and conversions permitted.
 template<class Unit,class Y = double>
 class quantity
 {
- // base units are not the same as units.
+ // Base units are not the same as units.
         BOOST_MPL_ASSERT_NOT((detail::is_base_unit<Unit>));
         enum { force_instantiation_of_unit = sizeof(Unit) };
         typedef void (quantity::*unspecified_null_pointer_constant_type)(int*******);
     public:
         typedef quantity<Unit,Y> this_type;
-
+
         typedef Y value_type;
         typedef Unit unit_type;
-
- quantity() : val_()
- {
+
+ quantity() : val_()
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
 
- quantity(unspecified_null_pointer_constant_type) : val_()
- {
+ quantity(unspecified_null_pointer_constant_type) : val_()
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
-
- quantity(const this_type& source) : val_(source.val_)
+
+ quantity(const this_type& source) : val_(source.val_)
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
-
+
         // Need to make sure that the destructor of
         // Unit which contains the checking is instantiated,
         // on sun.
@@ -121,66 +127,66 @@
             unit_type force_unit_instantiation;
         }
         #endif
-
+
         //~quantity() { }
-
- this_type& operator=(const this_type& source)
- {
- val_ = source.val_;
-
- return *this;
+
+ this_type& operator=(const this_type& source)
+ {
+ val_ = source.val_;
+
+ return *this;
         }
 
         #ifndef BOOST_NO_SFINAE
 
- /// implicit conversion between value types is allowed if allowed for value types themselves
+ /// implicit conversion between value types is allowed if allowed for value types themselves.
         template<class YY>
         quantity(const quantity<Unit,YY>& source,
             typename boost::enable_if<detail::is_non_narrowing_conversion<YY, Y> >::type* = 0) :
             val_(source.value())
- {
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
 
- /// implicit conversion between value types is not allowed if not allowed for value types themselves
+ /// implicit conversion between value types is not allowed if not allowed for value types themselves.
         template<class YY>
         explicit quantity(const quantity<Unit,YY>& source,
             typename boost::disable_if<detail::is_non_narrowing_conversion<YY, Y> >::type* = 0) :
             val_(static_cast<Y>(source.value()))
- {
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
 
         #else
 
- /// implicit conversion between value types is allowed if allowed for value types themselves
+ /// implicit conversion between value types is allowed if allowed for value types themselves.
         template<class YY>
         quantity(const quantity<Unit,YY>& source) :
             val_(source.value())
- {
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
             BOOST_STATIC_ASSERT((boost::is_convertible<YY, Y>::value == true));
         }
 
         #endif
-
- /// implicit assignment between value types is allowed if allowed for value types themselves
+
+ /// implicit assignment between value types is allowed if allowed for value types themselves.
         template<class YY>
         this_type& operator=(const quantity<Unit,YY>& source)
         {
             BOOST_STATIC_ASSERT((boost::is_convertible<YY, Y>::value == true));
 
             *this = this_type(source);
-
+
             return *this;
         }
 
         #ifndef BOOST_NO_SFINAE
 
- /// explicit conversion between different unit systems is allowed if implicit conversion is disallowed
- template<class Unit2,class YY>
+ /// explicit conversion between different unit systems is allowed if implicit conversion is disallowed.
+ template<class Unit2,class YY>
         explicit
- quantity(const quantity<Unit2,YY>& source,
+ quantity(const quantity<Unit2,YY>& source,
                  typename boost::disable_if<
                     mpl::and_<
                         //is_implicitly_convertible should be undefined when the
@@ -196,9 +202,9 @@
             BOOST_STATIC_ASSERT((boost::is_convertible<YY,Y>::value == true));
         }
 
- /// implicit conversion between different unit systems is allowed if each fundamental dimension is implicitly convertible
- template<class Unit2,class YY>
- quantity(const quantity<Unit2,YY>& source,
+ /// implicit conversion between different unit systems is allowed if each fundamental dimension is implicitly convertible.
+ template<class Unit2,class YY>
+ quantity(const quantity<Unit2,YY>& source,
                  typename boost::enable_if<
                      mpl::and_<
                          typename is_implicitly_convertible<Unit2,Unit>::type,
@@ -214,9 +220,9 @@
 
         #else
 
- /// without SFINAE we can't distinguish between explicit and implicit conversions so
+ /// without SFINAE we can't distinguish between explicit and implicit conversions so
         /// the conversion is always explicit
- template<class Unit2,class YY>
+ template<class Unit2,class YY>
         explicit quantity(const quantity<Unit2,YY>& source)
              : val_(conversion_helper<quantity<Unit2,YY>,this_type>::convert(source).value())
         {
@@ -225,22 +231,22 @@
         }
 
         #endif
-
- /// implicit assignment between different unit systems is allowed if each fundamental dimension is implicitly convertible
+
+ /// implicit assignment between different unit systems is allowed if each fundamental dimension is implicitly convertible.
         template<class Unit2,class YY>
         this_type& operator=(const quantity<Unit2,YY>& source)
         {
-
+
             BOOST_STATIC_ASSERT((is_implicitly_convertible<Unit2,unit_type>::value == true));
             BOOST_STATIC_ASSERT((boost::is_convertible<YY,Y>::value == true));
-
+
             *this = this_type(source);
-
+
             return *this;
         }
 
         const value_type& value() const { return val_; } ///< constant accessor to value
-
+
         ///< can add a quantity of the same type if add_typeof_helper<value_type,value_type>::type is convertible to value_type
         template<class Unit2, class YY>
         this_type& operator+=(const quantity<Unit2, YY>& source)
@@ -248,7 +254,7 @@
             BOOST_STATIC_ASSERT((boost::is_same<typename add_typeof_helper<Unit, Unit2>::type, Unit>::value));
             val_ += source.value();
             return *this;
- }
+ }
 
         ///< can subtract a quantity of the same type if subtract_typeof_helper<value_type,value_type>::type is convertible to value_type
         template<class Unit2, class YY>
@@ -257,7 +263,7 @@
             BOOST_STATIC_ASSERT((boost::is_same<typename subtract_typeof_helper<Unit, Unit2>::type, Unit>::value));
             val_ -= source.value();
             return *this;
- }
+ }
 
         template<class Unit2, class YY>
         this_type& operator*=(const quantity<Unit2, YY>& source)
@@ -265,8 +271,8 @@
             BOOST_STATIC_ASSERT((boost::is_same<typename multiply_typeof_helper<Unit, Unit2>::type, Unit>::value));
             val_ *= source.value();
             return *this;
- }
-
+ }
+
         template<class Unit2, class YY>
         this_type& operator/=(const quantity<Unit2, YY>& source)
         {
@@ -279,18 +285,19 @@
         this_type& operator*=(const value_type& source) { val_ *= source; return *this; }
         ///< can divide a quantity by a scalar value_type if divide_typeof_helper<value_type,value_type>::type is convertible to value_type
         this_type& operator/=(const value_type& source) { val_ /= source; return *this; }
-
+
         /// Construct quantity directly from @c value_type (potentially dangerous).
         static this_type from_value(const value_type& val) { return this_type(val, 0); }
 
     protected:
         explicit quantity(const value_type& val, int) : val_(val) { }
-
+
     private:
         value_type val_;
 };
 
-/// Specialization for dimensionless quantities. Implicit conversions between
+/// Quantity of dimensionless quantities and conversion permitted.
+/// Specialization for dimensionless quantities. Implicit conversions between
 /// unit systems are allowed because all dimensionless quantities are equivalent.
 /// Implicit construction and assignment from and conversion to @c value_type is
 /// also allowed.
@@ -299,37 +306,37 @@
 {
     public:
         typedef quantity<unit<dimensionless_type,System>,Y> this_type;
-
+
         typedef Y value_type;
         typedef System system_type;
         typedef dimensionless_type dimension_type;
         typedef unit<dimension_type,system_type> unit_type;
-
- quantity() : val_()
+
+ quantity() : val_()
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
-
+
         /// construction from raw @c value_type is allowed
- quantity(value_type val) : val_(val)
+ quantity(value_type val) : val_(val)
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
- }
-
- quantity(const this_type& source) : val_(source.val_)
+ }
+
+ quantity(const this_type& source) : val_(source.val_)
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
-
+
         //~quantity() { }
-
- this_type& operator=(const this_type& source)
- {
- val_ = source.val_;
-
- return *this;
+
+ this_type& operator=(const this_type& source)
+ {
+ val_ = source.val_;
+
+ return *this;
         }
-
+
         #ifndef BOOST_NO_SFINAE
 
         /// implicit conversion between value types is allowed if allowed for value types themselves
@@ -337,7 +344,7 @@
         quantity(const quantity<unit<dimension_type,system_type>,YY>& source,
             typename boost::enable_if<detail::is_non_narrowing_conversion<YY, Y> >::type* = 0) :
             val_(source.value())
- {
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
 
@@ -346,7 +353,7 @@
         explicit quantity(const quantity<unit<dimension_type,system_type>,YY>& source,
             typename boost::disable_if<detail::is_non_narrowing_conversion<YY, Y> >::type* = 0) :
             val_(static_cast<Y>(source.value()))
- {
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
 
@@ -356,13 +363,13 @@
         template<class YY>
         quantity(const quantity<unit<dimension_type,system_type>,YY>& source) :
             val_(source.value())
- {
+ {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
             BOOST_STATIC_ASSERT((boost::is_convertible<YY, Y>::value == true));
         }
 
         #endif
-
+
         /// implicit assignment between value types is allowed if allowed for value types themselves
         template<class YY>
         this_type& operator=(const quantity<unit<dimension_type,system_type>,YY>& source)
@@ -370,21 +377,21 @@
             BOOST_STATIC_ASSERT((boost::is_convertible<YY,Y>::value == true));
 
             *this = this_type(source);
-
+
             return *this;
         }
 
         #if 1
 
         /// implicit conversion between different unit systems is allowed
- template<class System2, class Y2>
+ template<class System2, class Y2>
         quantity(const quantity<unit<dimensionless_type, System2>,Y2>& source,
         #ifdef __SUNPRO_CC
             typename boost::enable_if<
                 boost::mpl::and_<
                     detail::is_non_narrowing_conversion<Y2, Y>,
                     detail::is_dimensionless_system<System2>
- >
+ >
>::type* = 0
         #else
             typename boost::enable_if<detail::is_non_narrowing_conversion<Y2, Y> >::type* = 0,
@@ -392,20 +399,20 @@
             typename boost::enable_if<detail::is_dimensionless_system<System2> >::type* = 0
         #endif
             ) :
- val_(source.value())
+ val_(source.value())
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
 
         /// implicit conversion between different unit systems is allowed
- template<class System2, class Y2>
+ template<class System2, class Y2>
         explicit quantity(const quantity<unit<dimensionless_type, System2>,Y2>& source,
         #ifdef __SUNPRO_CC
             typename boost::enable_if<
                 boost::mpl::and_<
                     boost::mpl::not_<detail::is_non_narrowing_conversion<Y2, Y> >,
                     detail::is_dimensionless_system<System2>
- >
+ >
>::type* = 0
         #else
             typename boost::disable_if<detail::is_non_narrowing_conversion<Y2, Y> >::type* = 0,
@@ -413,7 +420,7 @@
             typename boost::enable_if<detail::is_dimensionless_system<System2> >::type* = 0
         #endif
             ) :
- val_(static_cast<Y>(source.value()))
+ val_(static_cast<Y>(source.value()))
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
@@ -421,9 +428,9 @@
         #else
 
         /// implicit conversion between different unit systems is allowed
- template<class System2, class Y2>
+ template<class System2, class Y2>
         quantity(const quantity<unit<dimensionless_type,homogeneous_system<System2> >,Y2>& source) :
- val_(source.value())
+ val_(source.value())
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
             BOOST_STATIC_ASSERT((boost::is_convertible<Y2, Y>::value == true));
@@ -433,14 +440,14 @@
 
         /// conversion between different unit systems is explicit when
         /// the units are not equivalent.
- template<class System2, class Y2>
+ template<class System2, class Y2>
         explicit quantity(const quantity<unit<dimensionless_type, System2>,Y2>& source,
             typename boost::disable_if<detail::is_dimensionless_system<System2> >::type* = 0) :
- val_(conversion_helper<quantity<unit<dimensionless_type, System2>,Y2>, this_type>::convert(source).value())
+ val_(conversion_helper<quantity<unit<dimensionless_type, System2>,Y2>, this_type>::convert(source).value())
         {
             BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
         }
-
+
         #ifndef __SUNPRO_CC
 
         /// implicit assignment between different unit systems is allowed
@@ -448,28 +455,28 @@
         this_type& operator=(const quantity<BOOST_UNITS_DIMENSIONLESS_UNIT(System2),Y>& source)
         {
             *this = this_type(source);
-
+
             return *this;
         }
-
+
         #endif
-
+
         /// implicit conversion to @c value_type is allowed
         operator value_type() const { return val_; }
-
+
         const value_type& value() const { return val_; } ///< constant accessor to value
-
+
         ///< can add a quantity of the same type if add_typeof_helper<value_type,value_type>::type is convertible to value_type
- this_type& operator+=(const this_type& source) { val_ += source.val_; return *this; }
-
+ this_type& operator+=(const this_type& source) { val_ += source.val_; return *this; }
+
         ///< can subtract a quantity of the same type if subtract_typeof_helper<value_type,value_type>::type is convertible to value_type
- this_type& operator-=(const this_type& source) { val_ -= source.val_; return *this; }
-
+ this_type& operator-=(const this_type& source) { val_ -= source.val_; return *this; }
+
         ///< can multiply a quantity by a scalar value_type if multiply_typeof_helper<value_type,value_type>::type is convertible to value_type
- this_type& operator*=(const value_type& val) { val_ *= val; return *this; }
+ this_type& operator*=(const value_type& val) { val_ *= val; return *this; }
 
         ///< can divide a quantity by a scalar value_type if divide_typeof_helper<value_type,value_type>::type is convertible to value_type
- this_type& operator/=(const value_type& val) { val_ /= val; return *this; }
+ this_type& operator/=(const value_type& val) { val_ /= val; return *this; }
 
         /// Construct quantity directly from @c value_type.
         static this_type from_value(const value_type& val) { return this_type(val); }
@@ -512,7 +519,7 @@
 struct quantity_cast_helper<Y,quantity<Unit,X> >
 {
     typedef Y type;
-
+
     type operator()(quantity<Unit,X>& source) { return const_cast<X&>(source.value()); }
 };
 
@@ -521,7 +528,7 @@
 struct quantity_cast_helper<Y,const quantity<Unit,X> >
 {
     typedef Y type;
-
+
     type operator()(const quantity<Unit,X>& source) { return source.value(); }
 };
 
@@ -529,22 +536,22 @@
 
 /// quantity_cast provides mutating access to underlying quantity value_type
 template<class X,class Y>
-inline
+inline
 X
 quantity_cast(Y& source)
 {
     detail::quantity_cast_helper<X,Y> qch;
-
+
     return qch(source);
 }
 
 template<class X,class Y>
-inline
+inline
 X
 quantity_cast(const Y& source)
 {
     detail::quantity_cast_helper<X,const Y> qch;
-
+
     return qch(source);
 }
 
@@ -820,30 +827,30 @@
 
 /// specialize power typeof helper
 /// INTERNAL ONLY
-template<class Unit,long N,long D,class Y>
-struct power_typeof_helper< quantity<Unit,Y>,static_rational<N,D> >
-{
+template<class Unit,long N,long D,class Y>
+struct power_typeof_helper< quantity<Unit,Y>,static_rational<N,D> >
+{
     typedef typename power_typeof_helper<Y,static_rational<N,D> >::type value_type;
     typedef typename power_typeof_helper<Unit,static_rational<N,D> >::type unit_type;
- typedef quantity<unit_type,value_type> type;
-
- static type value(const quantity<Unit,Y>& x)
- {
+ typedef quantity<unit_type,value_type> type;
+
+ static type value(const quantity<Unit,Y>& x)
+ {
         return type::from_value(power_typeof_helper<Y,static_rational<N,D> >::value(x.value()));
     }
 };
 
 /// specialize root typeof helper
 /// INTERNAL ONLY
-template<class Unit,long N,long D,class Y>
-struct root_typeof_helper< quantity<Unit,Y>,static_rational<N,D> >
-{
+template<class Unit,long N,long D,class Y>
+struct root_typeof_helper< quantity<Unit,Y>,static_rational<N,D> >
+{
     typedef typename root_typeof_helper<Y,static_rational<N,D> >::type value_type;
     typedef typename root_typeof_helper<Unit,static_rational<N,D> >::type unit_type;
     typedef quantity<unit_type,value_type> type;
-
- static type value(const quantity<Unit,Y>& x)
- {
+
+ static type value(const quantity<Unit,Y>& x)
+ {
         return type::from_value(root_typeof_helper<Y,static_rational<N,D> >::value(x.value()));
     }
 };
@@ -858,7 +865,7 @@
 operator*(const unit<Dim,System>&,const Y& rhs)
 {
     typedef typename multiply_typeof_helper< unit<Dim,System>,Y >::type type;
-
+
     return type::from_value(rhs);
 }
 
@@ -871,7 +878,7 @@
 operator/(const unit<Dim,System>&,const Y& rhs)
 {
     typedef typename divide_typeof_helper<unit<Dim,System>,Y>::type type;
-
+
     return type::from_value(Y(1)/rhs);
 }
 
@@ -884,7 +891,7 @@
 operator*(const Y& lhs,const unit<Dim,System>&)
 {
     typedef typename multiply_typeof_helper< Y,unit<Dim,System> >::type type;
-
+
     return type::from_value(lhs);
 }
 
@@ -897,7 +904,7 @@
 operator/(const Y& lhs,const unit<Dim,System>&)
 {
     typedef typename divide_typeof_helper< Y,unit<Dim,System> >::type type;
-
+
     return type::from_value(lhs);
 }
 
@@ -910,7 +917,7 @@
 //operator*(const quantity<Unit,X>& lhs,const Y& rhs)
 //{
 // typedef typename multiply_typeof_helper< quantity<Unit,X>,Y >::type type;
-//
+//
 // return type::from_value(lhs.value()*rhs);
 //}
 //
@@ -923,7 +930,7 @@
 //operator*(const X& lhs,const quantity<Unit,Y>& rhs)
 //{
 // typedef typename multiply_typeof_helper< X,quantity<Unit,Y> >::type type;
-//
+//
 // return type::from_value(lhs*rhs.value());
 //}
 
@@ -935,7 +942,7 @@
 operator*(const quantity<Unit,X>& lhs,const X& rhs)
 {
     typedef typename multiply_typeof_helper< quantity<Unit,X>,X >::type type;
-
+
     return type::from_value(lhs.value()*rhs);
 }
 
@@ -947,7 +954,7 @@
 operator*(const X& lhs,const quantity<Unit,X>& rhs)
 {
     typedef typename multiply_typeof_helper< X,quantity<Unit,X> >::type type;
-
+
     return type::from_value(lhs*rhs.value());
 }
 
@@ -960,7 +967,7 @@
 //operator/(const quantity<Unit,X>& lhs,const Y& rhs)
 //{
 // typedef typename divide_typeof_helper< quantity<Unit,X>,Y >::type type;
-//
+//
 // return type::from_value(lhs.value()/rhs);
 //}
 //
@@ -973,7 +980,7 @@
 //operator/(const X& lhs,const quantity<Unit,Y>& rhs)
 //{
 // typedef typename divide_typeof_helper< X,quantity<Unit,Y> >::type type;
-//
+//
 // return type::from_value(lhs/rhs.value());
 //}
 
@@ -985,7 +992,7 @@
 operator/(const quantity<Unit,X>& lhs,const X& rhs)
 {
     typedef typename divide_typeof_helper< quantity<Unit,X>,X >::type type;
-
+
     return type::from_value(lhs.value()/rhs);
 }
 
@@ -997,7 +1004,7 @@
 operator/(const X& lhs,const quantity<Unit,X>& rhs)
 {
     typedef typename divide_typeof_helper< X,quantity<Unit,X> >::type type;
-
+
     return type::from_value(lhs/rhs.value());
 }
 
@@ -1011,7 +1018,7 @@
 operator*(const unit<Dim1,System1>&,const quantity<Unit2,Y>& rhs)
 {
     typedef typename multiply_typeof_helper< unit<Dim1,System1>,quantity<Unit2,Y> >::type type;
-
+
     return type::from_value(rhs.value());
 }
 
@@ -1025,7 +1032,7 @@
 operator/(const unit<Dim1,System1>&,const quantity<Unit2,Y>& rhs)
 {
     typedef typename divide_typeof_helper< unit<Dim1,System1>,quantity<Unit2,Y> >::type type;
-
+
     return type::from_value(Y(1)/rhs.value());
 }
 
@@ -1039,7 +1046,7 @@
 operator*(const quantity<Unit1,Y>& lhs,const unit<Dim2,System2>&)
 {
     typedef typename multiply_typeof_helper< quantity<Unit1,Y>,unit<Dim2,System2> >::type type;
-
+
     return type::from_value(lhs.value());
 }
 
@@ -1053,7 +1060,7 @@
 operator/(const quantity<Unit1,Y>& lhs,const unit<Dim2,System2>&)
 {
     typedef typename divide_typeof_helper< quantity<Unit1,Y>,unit<Dim2,System2> >::type type;
-
+
     return type::from_value(lhs.value());
 }
 
@@ -1061,9 +1068,9 @@
 template<class Unit,class Y>
 typename unary_plus_typeof_helper< quantity<Unit,Y> >::type
 operator+(const quantity<Unit,Y>& val)
-{
+{
     typedef typename unary_plus_typeof_helper< quantity<Unit,Y> >::type type;
-
+
     return type::from_value(+val.value());
 }
 
@@ -1071,9 +1078,9 @@
 template<class Unit,class Y>
 typename unary_minus_typeof_helper< quantity<Unit,Y> >::type
 operator-(const quantity<Unit,Y>& val)
-{
+{
     typedef typename unary_minus_typeof_helper< quantity<Unit,Y> >::type type;
-
+
     return type::from_value(-val.value());
 }
 
@@ -1088,7 +1095,7 @@
           const quantity<Unit2,Y>& rhs)
 {
     typedef typename add_typeof_helper< quantity<Unit1,X>,quantity<Unit2,Y> >::type type;
-
+
     return type::from_value(lhs.value()+rhs.value());
 }
 
@@ -1103,7 +1110,7 @@
           const quantity<Unit2,Y>& rhs)
 {
     typedef typename subtract_typeof_helper< quantity<Unit1,X>,quantity<Unit2,Y> >::type type;
-
+
     return type::from_value(lhs.value()-rhs.value());
 }
 
@@ -1119,7 +1126,7 @@
 {
     typedef typename multiply_typeof_helper< quantity<Unit1,X>,
                                              quantity<Unit2,Y> >::type type;
-
+
     return type::from_value(lhs.value()*rhs.value());
 }
 
@@ -1135,7 +1142,7 @@
 {
     typedef typename divide_typeof_helper< quantity<Unit1,X>,
                                            quantity<Unit2,Y> >::type type;
-
+
     return type::from_value(lhs.value()/rhs.value());
 }
 
@@ -1144,7 +1151,7 @@
          class X,
          class Y>
 inline
-bool
+bool
 operator==(const quantity<Unit,X>& val1,
            const quantity<Unit,Y>& val2)
 {
@@ -1156,7 +1163,7 @@
          class X,
          class Y>
 inline
-bool
+bool
 operator!=(const quantity<Unit,X>& val1,
            const quantity<Unit,Y>& val2)
 {
@@ -1168,7 +1175,7 @@
          class X,
          class Y>
 inline
-bool
+bool
 operator<(const quantity<Unit,X>& val1,
           const quantity<Unit,Y>& val2)
 {
@@ -1180,7 +1187,7 @@
          class X,
          class Y>
 inline
-bool
+bool
 operator<=(const quantity<Unit,X>& val1,
            const quantity<Unit,Y>& val2)
 {
@@ -1192,7 +1199,7 @@
          class X,
          class Y>
 inline
-bool
+bool
 operator>(const quantity<Unit,X>& val1,
           const quantity<Unit,Y>& val2)
 {
@@ -1204,7 +1211,7 @@
          class X,
          class Y>
 inline
-bool
+bool
 operator>=(const quantity<Unit,X>& val1,
            const quantity<Unit,Y>& val2)
 {

Modified: branches/units/autoprefix/boost/units/reduce_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/reduce_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/reduce_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,11 @@
 #ifndef BOOST_UNITS_REDUCE_UNIT_HPP_INCLUDED
 #define BOOST_UNITS_REDUCE_UNIT_HPP_INCLUDED
 
+///
+/// \file
+/// \brief Returns a unique type for every unit.
+///
+
 namespace boost {
 namespace units {
 

Modified: branches/units/autoprefix/boost/units/scale.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/scale.hpp (original)
+++ branches/units/autoprefix/boost/units/scale.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,13 @@
 #ifndef BOOST_UNITS_SCALE_HPP_INCLUDED
 #define BOOST_UNITS_SCALE_HPP_INCLUDED
 
+///
+/// \file
+/// \brief 10^3 Engineering & 2^10 binary scaling factors for autoprefixing.
+/// \details
+/// \author Steven Watanabe
+///
+
 #include <string>
 
 #include <boost/units/config.hpp>
@@ -26,8 +33,8 @@
 template<class S, class Scale>
 struct scaled_base_unit;
 
-/// class representing a scaling factor such as 10^3
-/// The exponent should be a static rational.
+/// scale class representing a scaling factor such as 10^3
+/// The exponent must be a static rational.
 template<long Base, class Exponent>
 struct scale
 {

Modified: branches/units/autoprefix/boost/units/scaled_base_unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/scaled_base_unit.hpp (original)
+++ branches/units/autoprefix/boost/units/scaled_base_unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,12 @@
 #ifndef BOOST_UNITS_SCALED_BASE_UNIT_HPP_INCLUDED
 #define BOOST_UNITS_SCALED_BASE_UNIT_HPP_INCLUDED
 
+///
+/// \file
+/// \brief Scaled base unit.
+/// \details INTERNAL ONLY.
+///
+
 #include <string>
 
 #include <boost/mpl/bool.hpp>

Modified: branches/units/autoprefix/boost/units/static_constant.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/static_constant.hpp (original)
+++ branches/units/autoprefix/boost/units/static_constant.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,10 +11,15 @@
 #ifndef BOOST_UNITS_STATIC_CONSTANT_HPP
 #define BOOST_UNITS_STATIC_CONSTANT_HPP
 
+///
+/// \file
+/// \brief Macro for static constants with auto type deduction
+/// \details A convenience macro that allows definition of static
+/// constants in headers in an ODR-safe way.
+///
+
 #include <boost/units/config.hpp>
 
-/// A convenience macro that allows definition of static
-/// constants in headers in an ODR-safe way.
 #define BOOST_UNITS_STATIC_CONSTANT(name, type) \
 template<bool b> \
 struct name##_instance_t \
@@ -30,8 +35,8 @@
 template<bool b> \
 const type name##_instance_t<b>::instance
 
-/// A convenience macro for static constants with auto
-/// type deduction.
+/// A convenience macro for static constants with auto
+/// type deduction.
 #if BOOST_UNITS_HAS_TYPEOF
 
 #if BOOST_UNITS_HAS_BOOST_TYPEOF

Modified: branches/units/autoprefix/boost/units/static_rational.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/static_rational.hpp (original)
+++ branches/units/autoprefix/boost/units/static_rational.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -46,8 +46,9 @@
     BOOST_STATIC_CONSTANT(integer_type,value = Value < 0 ? -Value : Value);
 };
 
-/// Compile time rational number.
-/**
+// Compile time rational number.
+
+/*! \details
 This is an implementation of a compile time rational number, where @c static_rational<N,D> represents
 a rational number with numerator @c N and denominator @c D. Because of the potential for ambiguity arising
 from multiple equivalent values of @c static_rational (e.g. @c static_rational<6,2>==static_rational<3>),

Modified: branches/units/autoprefix/boost/units/unit.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/unit.hpp (original)
+++ branches/units/autoprefix/boost/units/unit.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,6 +11,12 @@
 #ifndef BOOST_UNITS_UNIT_HPP
 #define BOOST_UNITS_UNIT_HPP
 
+///
+/// \file
+/// \brief unit classes and functions.
+/// \details unit representing a model-dependent unit with no associated value for dimensional analysis.
+///
+
 #include <boost/static_assert.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/assert.hpp>
@@ -28,26 +34,24 @@
 
 namespace boost {
 
-namespace units {
-
-/// class representing a model-dependent unit with no associated value
+namespace units { //! \namespace boost::units::detail \brief unit classes and functions implementation details (not recommended for normal use).
 
-/// (e.g. meters, Kelvin, feet, etc...)
 template<class Dim,class System, class Enable>
 class unit
-{
+{ /// \brief unit representing a model-dependent unit with no associated value.
+ /// \details (for example: meters, Kelvin, feet, etc...). Can be used for dimensional analysis.
     public:
         typedef unit<Dim, System> unit_type;
         typedef unit<Dim,System> this_type;
- typedef Dim dimension_type;
+ typedef Dim dimension_type;
         typedef System system_type;
-
+
         unit() { }
         unit(const this_type&) { }
- //~unit() { }
-
+ //~unit() { }
+
         this_type& operator=(const this_type&) { }
-
+
         // sun will ignore errors resulting from templates
         // instantiated in the return type of a function.
         // Make sure that we get an error anyway by putting.
@@ -94,7 +98,7 @@
 };
 
 /// INTERNAL ONLY
-template<class S1,class S2>
+template<class S1,class S2>
 struct is_implicitly_convertible :
     boost::is_same<typename reduce_unit<S1>::type, typename reduce_unit<S2>::type>
 { };
@@ -300,25 +304,25 @@
 };
 
 /// raise unit to a @c static_rational power
-template<class Dim,class System,long N,long D>
-struct power_typeof_helper<unit<Dim,System>,static_rational<N,D> >
-{
- typedef unit<typename static_power<Dim,static_rational<N,D> >::type,typename static_power<System, static_rational<N,D> >::type> type;
-
- static type value(const unit<Dim,System>&)
- {
+template<class Dim,class System,long N,long D>
+struct power_typeof_helper<unit<Dim,System>,static_rational<N,D> >
+{
+ typedef unit<typename static_power<Dim,static_rational<N,D> >::type,typename static_power<System, static_rational<N,D> >::type> type;
+
+ static type value(const unit<Dim,System>&)
+ {
         return type();
     }
 };
 
 /// take the @c static_rational root of a unit
-template<class Dim,class System,long N,long D>
-struct root_typeof_helper<unit<Dim,System>,static_rational<N,D> >
-{
- typedef unit<typename static_root<Dim,static_rational<N,D> >::type,typename static_root<System, static_rational<N,D> >::type> type;
-
- static type value(const unit<Dim,System>&)
- {
+template<class Dim,class System,long N,long D>
+struct root_typeof_helper<unit<Dim,System>,static_rational<N,D> >
+{
+ typedef unit<typename static_root<Dim,static_rational<N,D> >::type,typename static_root<System, static_rational<N,D> >::type> type;
+
+ static type value(const unit<Dim,System>&)
+ {
         return type();
     }
 };
@@ -327,9 +331,9 @@
 template<class Dim,class System>
 typename unary_plus_typeof_helper< unit<Dim,System> >::type
 operator+(const unit<Dim,System>&)
-{
+{
     typedef typename unary_plus_typeof_helper< unit<Dim,System> >::type type;
-
+
     return type();
 }
 
@@ -337,9 +341,9 @@
 template<class Dim,class System>
 typename unary_minus_typeof_helper< unit<Dim,System> >::type
 operator-(const unit<Dim,System>&)
-{
+{
     typedef typename unary_minus_typeof_helper< unit<Dim,System> >::type type;
-
+
     return type();
 }
 
@@ -353,11 +357,11 @@
 operator+(const unit<Dim1,System1>&,const unit<Dim2,System2>&)
 {
     BOOST_STATIC_ASSERT((boost::is_same<System1,System2>::value == true));
-
+
     typedef System1 system_type;
     typedef typename add_typeof_helper< unit<Dim1,system_type>,
                                         unit<Dim2,system_type> >::type type;
-
+
     return type();
 }
 
@@ -371,11 +375,11 @@
 operator-(const unit<Dim1,System1>&,const unit<Dim2,System2>&)
 {
     BOOST_STATIC_ASSERT((boost::is_same<System1,System2>::value == true));
-
+
     typedef System1 system_type;
     typedef typename subtract_typeof_helper< unit<Dim1,system_type>,
                                              unit<Dim2,system_type> >::type type;
-
+
     return type();
 }
 
@@ -390,7 +394,7 @@
 {
     typedef typename multiply_typeof_helper< unit<Dim1,System1>,
                                              unit<Dim2,System2> >::type type;
-
+
     return type();
 }
 
@@ -405,7 +409,7 @@
 {
     typedef typename divide_typeof_helper< unit<Dim1,System1>,
                                            unit<Dim2,System2> >::type type;
-
+
     return type();
 }
 
@@ -415,7 +419,7 @@
          class System1,
          class System2>
 inline
-bool
+bool
 operator==(const unit<Dim1,System1>&,const unit<Dim2,System2>&)
 {
     return boost::is_same<typename reduce_unit<unit<Dim1,System1> >::type, typename reduce_unit<unit<Dim2,System2> >::type>::value;
@@ -427,7 +431,7 @@
          class System1,
          class System2>
 inline
-bool
+bool
 operator!=(const unit<Dim1,System1>&,const unit<Dim2,System2>&)
 {
     return !boost::is_same<typename reduce_unit<unit<Dim1,System1> >::type, typename reduce_unit<unit<Dim2,System2> >::type>::value;

Modified: branches/units/autoprefix/boost/units/units_fwd.hpp
==============================================================================
--- branches/units/autoprefix/boost/units/units_fwd.hpp (original)
+++ branches/units/autoprefix/boost/units/units_fwd.hpp 2010-03-16 14:38:51 EDT (Tue, 16 Mar 2010)
@@ -1,4 +1,4 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and
 // unit/quantity manipulation and conversion
 //
 // Copyright (C) 2003-2008 Matthias Christian Schabel
@@ -11,16 +11,22 @@
 #ifndef BOOST_UNITS_UNITS_FWD_HPP
 #define BOOST_UNITS_UNITS_FWD_HPP
 
+///
 /// \file
-/// Forward declarations of library components.
+/// \brief Forward declarations of library components.
+/// \details Forward declarations of units library - dimensions, systems, quantity and string components.
+/// \author Steven Watanabe
+///
 
 #ifndef BOOST_UNITS_DOXYGEN
 
 #include <string>
 
-namespace boost {
+namespace boost
+{ //! \namespace boost \brief www.Boost.org.
 
-namespace units {
+namespace units
+{ //! \namespace boost::units \brief Boost.Units library.
 
 template<typename T,typename V> struct dim;
 template<typename T> struct is_dim;


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