|
Boost Users : |
Subject: [Boost-users] [Units] help with type-safe unit-specific conversions
From: Justin Leonard (justinleona_at_[hidden])
Date: 2009-07-22 13:43:03
I have been playing with Boost.Units as part of a work project recently, and
I am not sure what the best approach to "demarshalling" values in a specific
unit. For example, I would like to do something like:
using namespace boost::units;
struct A {
enum { feet, kilometers };
quantity<si::length> some_length;
double foo(int type) {
switch(type) {
case feet:
return quantity<feet>(some_length).value();
case kilometers:
return quantity<kilometers>(some_length).value();
}
}
};
This approach is necessary for passing values to external libraries which do
not (and probably will never) use Boost.Units. Is conversion_factor the
best approach, or is there a way to achieve this implicitly using the type
system?
Thanks
Justin
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