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) 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_UNITS_FWD_HPP |
12 | #define BOOST_UNITS_UNITS_FWD_HPP |
13 | |
14 | /// |
15 | /// \file |
16 | /// \brief Forward declarations of library components. |
17 | /// \details Forward declarations of units library - dimensions, systems, quantity and string components. |
18 | /// |
19 | |
20 | #ifndef BOOST_UNITS_DOXYGEN |
21 | |
22 | #include <string> |
23 | |
24 | namespace boost { |
25 | |
26 | namespace units { |
27 | |
28 | template<typename T,typename V> struct dim; |
29 | template<typename T> struct is_dim; |
30 | |
31 | struct dimensionless_type; |
32 | template<class Item,class Next> struct list; |
33 | template<typename Seq> struct make_dimension_list; |
34 | |
35 | template<class T> struct is_dimensionless; |
36 | template<class S1,class S2> struct is_implicitly_convertible; |
37 | template<class T> struct get_dimension; |
38 | template<class T> struct get_system; |
39 | |
40 | template<class Y> class absolute; |
41 | |
42 | template<class Dim,class System, class Enable=void> class unit; |
43 | |
44 | template<long Base, class Exponent> struct scale; |
45 | |
46 | template<class BaseUnitTag> struct base_unit_info; |
47 | template<class System> struct dimensionless_unit; |
48 | template<class T> struct is_unit; |
49 | template<class T,class Dim> struct is_unit_of_dimension; |
50 | template<class T,class System> struct is_unit_of_system; |
51 | |
52 | template<class Unit,class Y = double> class quantity; |
53 | |
54 | template<class System,class Y> struct dimensionless_quantity; |
55 | template<class T> struct is_quantity; |
56 | template<class T,class Dim> struct is_quantity_of_dimension; |
57 | template<class T,class System> struct is_quantity_of_system; |
58 | |
59 | template<class From,class To> struct conversion_helper; |
60 | |
61 | template<class T> std::string to_string(const T&); |
62 | template<class T> std::string name_string(const T&); |
63 | template<class T> std::string symbol_string(const T&); |
64 | template<class T> std::string raw_string(const T&); |
65 | template<class T> std::string typename_string(const T&); |
66 | |
67 | } // namespace units |
68 | |
69 | } // namespace boost |
70 | |
71 | #endif |
72 | |
73 | #endif // BOOST_UNITS_UNITS_FWD_HPP |
74 | |