
Quoting Andrew Sutton <asutton@cs.kent.edu>:
I'm not clear what your "truly optional" parameters are actually for, but if (for example) they supply a functor could the default value be some sort of identity functor?
I guess it might be worthwhile to distinguish formally between optional parameters and those with default values. A parameter with default values is still a required input to a function even if the user doesn't explicitly pass a corresponding value. It's value is supplied by the specification. An optional parameter is one affects the function's behavior by its absence or presence in the argument list.
did you read: http://www.boost.org/libs/parameter/doc/html/index.html#optional-parameters http://www.boost.org/libs/parameter/doc/html/index.html#signature-matching-a... it does what I was trying to explain in my previous mail automaticaly and should correspond to your need (optionnal parameter and compile time function dispatching).