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
17namespace boost {
18namespace units {
19
20#ifdef BOOST_UNITS_DOXYGEN
21
22/// Returns a unique type for every unit.
23template<class Unit>
24struct reduce_unit {
25 typedef detail::unspecified type;
26};
27
28#else
29
30// default implementation: return Unit unchanged.
31template<class Unit>
32struct reduce_unit {
33 typedef Unit type;
34};
35
36#endif
37
38}
39}
40
41#endif
42

source code of boost/boost/units/reduce_unit.hpp