Boost logo

Boost Users :

Subject: [Boost-users] [Units] defining a derived dimension
From: Michael Powell (mwpowellnm_at_[hidden])
Date: 2011-09-08 15:43:59


I want to define a dimension stroke_rate, or flow_rate, for that matter. Not
too out of the ordinary for our application. So I am starting with something
like this for my dimensions.

#include <boost/units/derived_dimension.hpp>
#include <boost/units/physical_dimensions/length.hpp>
#include <boost/units/physical_dimensions/time.hpp>

typedef
boost::units::derived_dimension<boost::units::dimensionless_type,1,boost::units::time_base_dimension,-1>::type
stroke_rate_dimension;
typedef
boost::units::derived_dimension<boost::units::length_dimension,3,boost::units::time_dimension,-1>::type
flow_rate_dimension;

typedef
boost::units::unit<ourns::units::stroke_rate_dimension,boost::units::si::system>
stroke_rate;
typedef
boost::units::unit<ourns::units::flow_rate_dimension,boost::units::si::system>
flow_rate;

However, I am receiving compiler errors when I try and include the units,

Error 1 error C2039: 'value' : is not a member of
'boost::units::detail::dimension_list_tag'
C:\Source\Simulations\tools\boost-msvc90-pro\boost\mpl\aux_\preprocessed\plain\less.hpp
20 CS.Calculations.Managed
Error 2 error C2065: 'value' : undeclared identifier
C:\Source\Simulations\tools\boost-msvc90-pro\boost\mpl\aux_\preprocessed\plain\less.hpp
21 CS.Calculations.Managed
Error 3 error C2039: 'value' : is not a member of
'boost::units::detail::dimension_list_tag'
C:\Source\Simulations\tools\boost-msvc90-pro\boost\mpl\aux_\preprocessed\plain\less.hpp
21 CS.Calculations.Managed
Error 4 error C2065: 'value' : undeclared identifier
C:\Source\Simulations\tools\boost-msvc90-pro\boost\mpl\aux_\preprocessed\plain\less.hpp
22 CS.Calculations.Managed

And so on along these lines. What am I doing wrong with the units and/or
dimensions?

This is quite similar to energy_density_dimension, for example.

typedef
derived_dimension<length_base_dimension,-1,mass_base_dimension,1,time_base_dimension,-2>::type
energy_density_dimension;

However, I am failing to see any appreciable difference.

Any thoughts?

Thanks,

Michael



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net