Hi list,
I am having trouble converting from one derived_dimension to another across systems (imperial to metric). I'd like to convert, say, lb/in to, say, kg/m. I thought I would do the following but get a compiler error #:
*.h-------------------------------------------------------------------------------- namespace dimensional_analysis { namespace lineal_force { //lb/in typedef boost::units::derived_dimension< boost::units::us::pound_force_base_unit, 1, boost::units::us::inch_base_unit, -1 >::type lb_per_inch_dimension; typedef boost::units::unit< lb_per_inch_dimension, dimensional_analysis::lengths::ip_system > lb_per_inch_unit; typedef boost::units::quantity
lb_per_inch_quantity; BOOST_UNITS_STATIC_CONSTANT(lbpin, lb_per_inch_quantity); //kg/m typedef boost::units::derived_dimension< boost::units::si::kilogram_base_unit, 1, boost::units::si::meter_base_unit, -1 >::type kg_per_meter_dimension; typedef boost::units::unit< kg_per_meter_dimension, boost::units::si::system > kg_per_meter_unit; typedef boost::units::quantity kg_per_meter_unit_quantity; BOOST_UNITS_STATIC_CONSTANT(kgpm, kg_per_meter_unit_quantity); }//lineal_force }//dimensional_analysis *.cp ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Do I need these? BOOST_UNITS_DEFINE_CONVERSION_FACTOR(dimensional_analysis::lineal_force::kg_per_meter_unit, dimensional_analysis::lineal_force::lb_per_inch_unit, double, 0.0559974); // exact conversion BOOST_UNITS_DEFAULT_CONVERSION(dimensional_analysis::lineal_force::kg_per_meter_unit, dimensional_analysis::lineal_force::lb_per_inch_unit);
//This does not compile# const auto conv_factor_try0 = conversion_factor(dimensional_analysis::lineal_force::kg_per_meter_unit::unit_type(), dimensional_analysis::lineal_force::lb_per_inch_unit::unit_type());
# *\boost_1_68_0\boost\units\detail\conversion_impl.hpp(340): error C2672: 'conversion_factor': no matching overloaded function found (compiling source file...*.cpp)
Any help is appreciated
I opened a PR (https://github.com/boostorg/units/pull/32) to address
such a situation;
the following code
```cpp
#include <iostream>
#include