Boost logo

Boost Users :

Subject: Re: [Boost-users] getting started with Boost::Units
From: Mark Volkmann (mark_at_[hidden])
Date: 2009-01-09 07:26:23


On Jan 8, 2009, at 5:08 PM, Steven Watanabe wrote:

> AMDG
>
> Mark Volkmann wrote:
>> The first thing I'm trying to do is determine how to represent a
>> velocity in miles per hour. I haven't been able to figure it out
>> from the documentation. Any hints would be appreciated.
>
> // Get the associated base units
> #include <boost/units/base_units/us/mile.hpp>
> #include <boost/units/base_units/metric/hour.hpp>
> // Create short typedefs for the components.
> typedef boost::units::us::mile_base_unit::unit_type mile_unit;
> typedef boost::units::metric::hour_base_unit::unit_type hour_unit;
> // make the unit for miles/hour
> typedef boost::units::divide_typeof_helper<mile_unit,
> hour_unit>::type miles_per_hour;
>
> quantity<miles_per_hour> mph = 80.0*miles_per_hour();
>
>> I also need to figure out the best way to get string
>> representations of quantities that include their units for output.
>
> #include <boost/units/io.hpp>
> will give you operator<<.

Thanks!

Why does the the following simple code output "605mi h^-1" instead of
"605 mi/h"? Why is the "^-1" at the end?

#include <iostream>
#include <boost/units/base_units/us/mile.hpp>
#include <boost/units/base_units/metric/hour.hpp>
#include <boost/units/io.hpp>

using namespace boost::units;
using namespace std;

typedef us::mile_base_unit::unit_type mile_unit;
typedef metric::hour_base_unit::unit_type hour_unit;
typedef divide_typeof_helper<mile_unit, hour_unit>::type miles_per_hour;

int main() {
   quantity<miles_per_hour> mph = 605.0 * miles_per_hour();
   cout << mph << endl;
   return 0;
}

---
Mark Volkmann

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