
Rob Stewart <stewart@sig.com> writes:
I just took a look at http://boost-consulting.com/boost/libs/parameter/doc/html/index.html and I have a few comments.
Rob, Thanks for your edits. Most were excellent and I integrated them immediately. Seeing the function described via table is harder to grasp. I suggest showing the function signature first, but omit the defaults for clarity. That will provide parameter names, in context, which will make the connection to the table simpler. I'm not sure what to do about that one. The "function signature" is a fully general function template, with an overload to handle mutable lvalues for the color_map. If you can suggest something that works, I'm open to it. I don't know what to do about the hard-to-see vertical ellipsis. Maybe just use . . . instead? You asked: *Where is this assignment occurring?* I tried to clarify: On the other hand, when passing arguments by keyword, the keyword object's assignment operator yields a temporary |ArgumentPack| object, and a conforming C++ compiler will refuse to bind a non-``const`` reference to a temporary. You rewrote this section, and then also seemed confused about what it means: a conforming C++ compiler will refuse to bind a non-``const`` reference to a temporary. To support an interface in which the last argument is passed by keyword, there must be a ``depth_first_search`` overload taking its argument by ``const`` reference. Here's your rewrite: a conforming C++ compiler will refuse to bind a non-``const`` reference to a temporary. To support an interface in which the last parameter is an “out” parameter, and the last argument is passed by keyword, there must be a ``depth_first_search`` overload taking its other arguments by ``const`` reference. But your rewrite changes the meaning substantially. Maybe you could try to understand what I wrote or ask some more questions before we try to make it better? Thanks again for all your input, -- Dave Abrahams Boost Consulting www.boost-consulting.com