
Bill Buklis
Is there any facility to perform arithmetic operations on a tuple?
For example:
struct data { double a, b; };
data d1 = {1.0, 2.0}; data d2 = {2.5, 5.5};
// These two lines are not valid, but simulate what I want. boost::tie(d1.a, d1.b) *= 10.0; // Multiply each element by 10.0 boost::tie(d1.a, d1.b) += boost::tie(d2.a, d2.b); // Add the elements from the second object
After calculations, d1 should equal {12.5, 25.5};
Using a tuple this way is probably not the best idea. Tuples are
intended for heterogeneous types. If all you really want is a fixed
length container for doubles you should use boost/std::array<double>.
If you really insist on the tuple, here is
tuple_for_each isn't that hard:
template