Chris@16
|
1 // Boost.Units - A C++ library for zero-overhead dimensional analysis and
|
Chris@16
|
2 // unit/quantity manipulation and conversion
|
Chris@16
|
3 //
|
Chris@16
|
4 // Copyright (C) 2003-2008 Matthias Christian Schabel
|
Chris@16
|
5 // Copyright (C) 2008 Steven Watanabe
|
Chris@16
|
6 //
|
Chris@16
|
7 // Distributed under the Boost Software License, Version 1.0. (See
|
Chris@16
|
8 // accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
9 // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
10
|
Chris@16
|
11 #ifndef BOOST_UNITS_UNITS_FWD_HPP
|
Chris@16
|
12 #define BOOST_UNITS_UNITS_FWD_HPP
|
Chris@16
|
13
|
Chris@16
|
14 ///
|
Chris@16
|
15 /// \file
|
Chris@16
|
16 /// \brief Forward declarations of library components.
|
Chris@16
|
17 /// \details Forward declarations of units library - dimensions, systems, quantity and string components.
|
Chris@16
|
18 ///
|
Chris@16
|
19
|
Chris@16
|
20 #ifndef BOOST_UNITS_DOXYGEN
|
Chris@16
|
21
|
Chris@16
|
22 #include <string>
|
Chris@16
|
23
|
Chris@16
|
24 namespace boost {
|
Chris@16
|
25
|
Chris@16
|
26 namespace units {
|
Chris@16
|
27
|
Chris@16
|
28 template<typename T,typename V> struct dim;
|
Chris@16
|
29 template<typename T> struct is_dim;
|
Chris@16
|
30
|
Chris@16
|
31 struct dimensionless_type;
|
Chris@16
|
32 template<class Item,class Next> struct list;
|
Chris@16
|
33 template<typename Seq> struct make_dimension_list;
|
Chris@16
|
34
|
Chris@16
|
35 template<class T> struct is_dimensionless;
|
Chris@16
|
36 template<class S1,class S2> struct is_implicitly_convertible;
|
Chris@16
|
37 template<class T> struct get_dimension;
|
Chris@16
|
38 template<class T> struct get_system;
|
Chris@16
|
39
|
Chris@16
|
40 template<class Y> class absolute;
|
Chris@16
|
41
|
Chris@16
|
42 template<class Dim,class System, class Enable=void> class unit;
|
Chris@16
|
43
|
Chris@16
|
44 template<long Base, class Exponent> struct scale;
|
Chris@16
|
45
|
Chris@16
|
46 template<class BaseUnitTag> struct base_unit_info;
|
Chris@16
|
47 template<class System> struct dimensionless_unit;
|
Chris@16
|
48 template<class T> struct is_unit;
|
Chris@16
|
49 template<class T,class Dim> struct is_unit_of_dimension;
|
Chris@16
|
50 template<class T,class System> struct is_unit_of_system;
|
Chris@16
|
51
|
Chris@101
|
52 template<class Unit,class Y = double> class quantity;
|
Chris@16
|
53
|
Chris@16
|
54 template<class System,class Y> struct dimensionless_quantity;
|
Chris@16
|
55 template<class T> struct is_quantity;
|
Chris@16
|
56 template<class T,class Dim> struct is_quantity_of_dimension;
|
Chris@16
|
57 template<class T,class System> struct is_quantity_of_system;
|
Chris@16
|
58
|
Chris@16
|
59 template<class From,class To> struct conversion_helper;
|
Chris@16
|
60
|
Chris@16
|
61 template<class T> std::string to_string(const T&);
|
Chris@16
|
62 template<class T> std::string name_string(const T&);
|
Chris@16
|
63 template<class T> std::string symbol_string(const T&);
|
Chris@16
|
64 template<class T> std::string raw_string(const T&);
|
Chris@16
|
65 template<class T> std::string typename_string(const T&);
|
Chris@16
|
66
|
Chris@16
|
67 } // namespace units
|
Chris@16
|
68
|
Chris@16
|
69 } // namespace boost
|
Chris@16
|
70
|
Chris@16
|
71 #endif
|
Chris@16
|
72
|
Chris@16
|
73 #endif // BOOST_UNITS_UNITS_FWD_HPP
|