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
16 /// \brief Forward declarations of library components.
17 /// \details Forward declarations of units library - dimensions, systems, quantity and string components.
20 #ifndef BOOST_UNITS_DOXYGEN
28 template<typename T,typename V> struct dim;
29 template<typename T> struct is_dim;
31 struct dimensionless_type;
32 template<class Item,class Next> struct list;
33 template<typename Seq> struct make_dimension_list;
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;
40 template<class Y> class absolute;
42 template<class Dim,class System, class Enable=void> class unit;
44 template<long Base, class Exponent> struct scale;
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;
52 template<class Unit,class Y = double> class quantity;
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;
59 template<class From,class To> struct conversion_helper;
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&);
73 #endif // BOOST_UNITS_UNITS_FWD_HPP