Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/units/dimensionless_type.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Boost.Units - A C++ library for zero-overhead dimensional analysis and 
0002 // unit/quantity manipulation and conversion
0003 //
0004 // Copyright (C) 2003-2008 Matthias Christian Schabel
0005 // Copyright (C) 2007-2008 Steven Watanabe
0006 //
0007 // Distributed under the Boost Software License, Version 1.0. (See
0008 // accompanying file LICENSE_1_0.txt or copy at
0009 // http://www.boost.org/LICENSE_1_0.txt)
0010 
0011 #ifndef BOOST_UNITS_DIMENSIONLESS_TYPE_HPP
0012 #define BOOST_UNITS_DIMENSIONLESS_TYPE_HPP
0013 
0014 ///
0015 /// \file
0016 /// \brief Dimension lists in which all exponents resolve to zero reduce to @c dimensionless_type.
0017 ///
0018 
0019 #include <boost/mpl/long.hpp>
0020 #include <boost/mpl/deref.hpp>
0021 #include <boost/mpl/arithmetic.hpp>
0022 
0023 #include <boost/units/config.hpp>
0024 
0025 namespace boost {
0026 
0027 namespace units {
0028 
0029 namespace detail {
0030 
0031 struct dimension_list_tag;
0032 
0033 }
0034 
0035 /// Dimension lists in which all exponents resolve to zero reduce to @c dimensionless_type.
0036 struct dimensionless_type
0037 {
0038     typedef dimensionless_type          type;
0039     typedef detail::dimension_list_tag  tag;
0040     typedef mpl::long_<0>               size;
0041 };
0042 
0043 } // namespace units
0044 
0045 } // namespace boost
0046 
0047 #if BOOST_UNITS_HAS_BOOST_TYPEOF
0048 
0049 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
0050 
0051 BOOST_TYPEOF_REGISTER_TYPE(boost::units::dimensionless_type)
0052 
0053 #endif
0054 
0055 #endif // BOOST_UNITS_DIMENSIONLESS_TYPE_HPP