// Boost.Units - A C++ library for zero-overhead dimensional analysis and // unit/quantity manipulation and conversion // // Copyright (C) 2003-2008 Matthias Christian Schabel // Copyright (C) 2007-2008 Steven Watanabe // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_UNITS_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 #include #include #include namespace boost { namespace units { namespace detail { struct dimension_list_tag; } /// Dimension lists in which all exponents resolve to zero reduce to @c dimensionless_type. struct dimensionless_type { typedef dimensionless_type type; typedef detail::dimension_list_tag tag; typedef mpl::long_<0> size; }; } // namespace units } // namespace boost #if BOOST_UNITS_HAS_BOOST_TYPEOF #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() BOOST_TYPEOF_REGISTER_TYPE(boost::units::dimensionless_type) #endif #endif // BOOST_UNITS_DIMENSIONLESS_TYPE_HPP