
On 03/08/2005 06:26 AM, Tobias Schwinger wrote: [snip]
I use 'apply', 'apply_one' and 'apply_but' functions that allow me to apply functors to all elements, one element and all but one elements, respectively (I use different versions for both static and dynamic indices and both static and dynamic functors):
What does "static" and "dynamic" mean here? Does static mean "evaluable at compile time" and "dynamic" means otherwise? [snip]
- Do you know the Boost.Assign technique ? I use a similar approach to have a nice syntax for initialization and inlining that works within expressions:
my_quaternion = n_x * sin_half_a , n_y * sin_half_a , n_z * sin_half_a , cos_half_a;
and
vector_slice<0,3> (my_quaternion) = (vec_inl| n_x,n_y,0.0) * sin_half_a;
Never seen this (vec_inl| n_x,n_y,0.0). Looks like a set expression or lambda expression. Could you provide a reference. I searched: http://www.boost.org/libs/assign/doc/index.html#reference for the character '|' but got no results.
( The 'my_quaternion' variable from the examples is a four-dimensional vector, _not_ a boost::quaternion. )
Does "four-dimensional" mean "length is four" or "accessing a scalar requires four indices passed to the operator()", e.g. my_quaternion(0,2,1,1) or something similar (I want to call the above operator() the the index operator, but can't for obvious reasons) ? [snip]