1 // Boost.Units - A C++ library for zero-overhead dimensional analysis and
2 // unit/quantity manipulation and conversion
3 //
4 // Copyright (C) 2003-2008 Matthias Christian Schabel
5 // Copyright (C) 2007-2008 Steven Watanabe
6 //
7 // Distributed under the Boost Software License, Version 1.0. (See
8 // accompanying file LICENSE_1_0.txt or copy at
9 // http://www.boost.org/LICENSE_1_0.txt)
10 
11 #ifndef BOOST_UNITS_REDUCE_UNIT_HPP_INCLUDED
12 #define BOOST_UNITS_REDUCE_UNIT_HPP_INCLUDED
13 
14 /// \file
15 /// \brief Returns a unique type for every unit.
16 
17 namespace boost {
18 namespace units {
19 
20 #ifdef BOOST_UNITS_DOXYGEN
21 
22 /// Returns a unique type for every unit.
23 template<class Unit>
24 struct reduce_unit {
25     typedef detail::unspecified type;
26 };
27 
28 #else
29 
30 // default implementation: return Unit unchanged.
31 template<class Unit>
32 struct reduce_unit {
33     typedef Unit type;
34 };
35 
36 #endif
37 
38 }
39 }
40 
41 #endif
42