89 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			89 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
							 | 
						||
| 
								 | 
							
								// unit/quantity manipulation and conversion
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Copyright (C) 2003-2008 Matthias Christian Schabel
							 | 
						||
| 
								 | 
							
								// Copyright (C) 2008 Steven Watanabe
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Distributed under the Boost Software License, Version 1.0. (See
							 | 
						||
| 
								 | 
							
								// accompanying file LICENSE_1_0.txt or copy at
							 | 
						||
| 
								 | 
							
								// http://www.boost.org/LICENSE_1_0.txt)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef BOOST_UNITS_SI_IO_HPP
							 | 
						||
| 
								 | 
							
								#define BOOST_UNITS_SI_IO_HPP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <boost/units/io.hpp>
							 | 
						||
| 
								 | 
							
								#include <boost/units/reduce_unit.hpp>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <boost/units/systems/si.hpp>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace boost {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace units { 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// gray and sievert are indistinguishable
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::absorbed_dose>::type&) { return "gray"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::absorbed_dose>::type&) { return "Gy"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// activity and frequency are indistinguishable - would need a "decays" base unit
							 | 
						||
| 
								 | 
							
								//inline std::string name_string(const si::activity&) { return "becquerel"; }
							 | 
						||
| 
								 | 
							
								//inline std::string symbol_string(const si::activity&) { return "Bq"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::capacitance>::type&)   { return "farad"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::capacitance>::type&) { return "F"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::catalytic_activity>::type&) { return "katal"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::catalytic_activity>::type&) { return "kat"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::conductance>::type&) { return "siemen"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::conductance>::type&) { return "S"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// gray and sievert are indistinguishable
							 | 
						||
| 
								 | 
							
								//inline std::string name_string(const si::dose_equivalent&) { return "sievert"; }
							 | 
						||
| 
								 | 
							
								//inline std::string symbol_string(const si::dose_equivalent&) { return "Sv"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::electric_charge>::type&) { return "coulomb"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::electric_charge>::type&) { return "C"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::electric_potential>::type&) { return "volt"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::electric_potential>::type&) { return "V"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::energy>::type&) { return "joule"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::energy>::type&) { return "J"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::force>::type&) { return "newton"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::force>::type&) { return "N"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::frequency>::type&) { return "hertz"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::frequency>::type&) { return "Hz"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::illuminance>::type&) { return "lux"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::illuminance>::type&) { return "lx"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::inductance>::type&) { return "henry"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::inductance>::type&) { return "H"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::luminous_flux>::type&) { return "lumen"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::luminous_flux>::type&) { return "lm"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::magnetic_flux>::type&) { return "weber"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::magnetic_flux>::type&) { return "Wb"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::magnetic_flux_density>::type&) { return "tesla"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::magnetic_flux_density>::type&) { return "T"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::power>::type&) { return "watt"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::power>::type&) { return "W"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::pressure>::type&) { return "pascal"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::pressure>::type&) { return "Pa"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inline std::string name_string(const reduce_unit<si::resistance>::type&) { return "ohm"; }
							 | 
						||
| 
								 | 
							
								inline std::string symbol_string(const reduce_unit<si::resistance>::type&) { return "Ohm"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace units
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace boost
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif // BOOST_UNITS_SI_IO_HPP
							 |