
On Feb 28, 10:34 am, alfC
On Feb 28, 2:06 am, Samuel Debionne
wrote: I have been playing with things like :
quantity
> That won't work because variant<...> is not a unit type. Can you post a small example of what you want to achieve?
Of course it won't work as is. But I did a bit of hacking in this direction.
the reason I asked for an example is because I was working in something similar (not the same though).
My aim is to be able to write something like this :
any_quantity
any_q = myfunction(...); ...
quantity<force> = any_q; //runtime check
I think those quantities are so unrelated with each other from a "type" point of view that you would be better of using templates. Actually I do this a lot:
template<class Unit> myfunction(quantity<Unit> q){ ...
}
Also I forgot to mention that with the strategy above you have to deduce the return type of the function, that depends on the logic of function. typeof_helpers help in this case. template<class Unit> quantity< power_typeof_helper< multiply_typeof_helper < ... Unit ... , ... >::type, ... >::type > myfunction(quantity<Unit> q){ ... } I know it can be a drag. I guess auto typed return types in C++0x can help but I never tried. Sorry for the splitted answer. In any case I would like to know of any solution you can come up with. Alfredo