1 // Boost.Units - A C++ library for zero-overhead dimensional analysis and
2 // unit/quantity manipulation and conversion
4 // Copyright (C) 2003-2008 Matthias Christian Schabel
5 // Copyright (C) 2008 Steven Watanabe
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)
11 #ifndef BOOST_UNITS_UNITS_FWD_HPP
12 #define BOOST_UNITS_UNITS_FWD_HPP
15 /// Forward declarations of library components.
17 #ifndef BOOST_UNITS_DOXYGEN
25 template<typename T
,typename V
> struct dim
;
26 template<typename T
> struct is_dim
;
28 struct dimensionless_type
;
29 template<class Item
,class Next
> struct list
;
30 template<typename Seq
> struct make_dimension_list
;
32 template<class T
> struct is_dimensionless
;
33 template<class S1
,class S2
> struct is_implicitly_convertible
;
34 template<class T
> struct get_dimension
;
35 template<class T
> struct get_system
;
37 template<class Y
> class absolute
;
39 template<class Dim
,class System
, class Enable
=void> class unit
;
41 template<class BaseUnitTag
> struct base_unit_info
;
42 template<class System
> struct dimensionless_unit
;
43 template<class T
> struct is_unit
;
44 template<class T
,class Dim
> struct is_unit_of_dimension
;
45 template<class T
,class System
> struct is_unit_of_system
;
47 template<class Unit
,class Y
> class quantity
;
49 template<class System
,class Y
> struct dimensionless_quantity
;
50 template<class T
> struct is_quantity
;
51 template<class T
,class Dim
> struct is_quantity_of_dimension
;
52 template<class T
,class System
> struct is_quantity_of_system
;
54 template<class From
,class To
> struct conversion_helper
;
56 template<class T
> std::string
to_string(const T
&);
57 template<class T
> std::string
name_string(const T
&);
58 template<class T
> std::string
symbol_string(const T
&);
59 template<class T
> std::string
raw_string(const T
&);
60 template<class T
> std::string
typename_string(const T
&);
68 #endif // BOOST_UNITS_UNITS_FWD_HPP