
Rene Rivera wrote:
Daniel James wrote:
David Abrahams wrote:
This approach is superior to bgl_named_params in part because it avoids undue coupling and dependency in a library design. That coupling is discussed in depth in this excerpt from C++ Template Metaprogramming (http://www.boost-consulting.com/mplbook):
[snipped]
This coupling could be avoided by using an overloaded operator to combine the arguments, for example:
f(slew(.799) | name("z"));
An advantage of this method is that it avoids the need for the forwarding functions.
I was just going over the library and have a related question. Is there a rational as to why the forwarding functions where used instead of overloading the "," operator?
operator, *is* overloaded. It's just that if you use it you have to: (1) Add additional parameters around the parameter list. (2) Only use named parameters, position gets no meaning. -- Daniel Wallin