$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Noah Roberts (roberts.noah_at_[hidden])
Date: 2007-02-16 11:27:30
Matthias Schabel wrote:
>>> std::cout << ((x + y) * user_selected_unit) << std::endl;
>
> How is this different from/better than
>
> std::cout << quantity<your_system::psi>(x+y) << std::endl;
>
> or, if you prefer,
>
> typedef quantity<your_system::psi> psi;
>
> std::cout << psi(x+y) << std::endl;
>
> ??
Well, like I said earlier, this solution requires a system for every
possible unit you're using. It also doesn't allow one to assign units
since they are distinct types. In order to create a runtime unit
quantity in with your plan is to use something akin to boost::any to
wrap any unit "type" into something that can be assigned to/from.
I started going that direction and realized quite quickly it's a big
mess and there isn't much need for it except the desire to do everything
in compile mode, which is unnecessary.