Boost logo

Boost Users :

Subject: Re: [Boost-users] [Boost.Units] Trouble with I/O and specific scaled units
From: Michael J Iatauro (Michael.J.Iatauro_at_[hidden])
Date: 2011-10-21 12:49:37


On 10/21/11 8:55 AM, Steven Watanabe wrote:
> AMDG
>
> On 10/20/2011 06:24 PM, Michael J Iatauro wrote:
>> typedef make_scaled_unit<second, scale<60, static_rational<1> > >::type
>> minute;
>>
>> <snip>
>>
>> I tried adding
>>
>> std::string name_string(const minute&) {
>> return "min";
>> }
>>
>> std::string symbol_string(const minute&) {
>> return "min";
>> }
>>
>> but that didn't change anything. Interestingly, if I change the scale
>> from 60 to 10, it compiles and runs fine. What am I missing?
>>
>
> Where did you put the overloads? They
> need to go in namespace boost::units, to
> be found by ADL.
>
> In Christ,
> Steven Watanabe

I had a feeling it was something simple like that. Thanks, Steven!
That fixes my simple case, but unfortunately, I'm still getting the same
compilation error with my actual source. I've cut it down to a
(relatively) small case, attached. Interestingly, I tried to eliminate
the degree dimension from the system, but that caused the minute typedef
to fail to compile with a
the_specified_dimension_is_not_representible_in_the_given_system assertion.

~MJI

------------------
Michael J. Iatauro
Software Engineer
Dell | Services, Federal Government

NASA Ames Research Center
Office: 650-604-0662
Mail stop: 269-2
P.O. Box 1
Moffett Field, CA 94035-0001
www.dell.com/perotsystems




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