Boost logo

Boost :

From: Daniel James (daniel_at_[hidden])
Date: 2004-11-18 10:54:50

Daniel James wrote:
> Jonathan Wakely wrote:
>> In fact, I get a similar error for the example code in your mail:
>> In member function `ResultType
>> GENERATE_DETAIL::foo_overloaded_t<ResultType>::operator()() const':
>> error: no matching function for call to `foo()'
>> note: candidates are: void foo(int)
>> note: void foo(char*)
>> So although I can see uses for this, I can't use it :-)
> Oh dear. I hadn't tested it very thoroughly - it works on g++ versions
> 2.95 and 3.3, but not 3.4 (which I guess you're using).

And intel fails in strict mode as well. I've attached a quickly fixed
version, which doesn't support nullary functions. I've also changed the
interface to specify the object's name so that you can call

Your example now becomes:

      #include "overloaded.hpp"
      #include <string>
      #include <algorithm>
      #include <cctype>

      GENERATE_OVERLOADED(int, std::tolower, tolower_overloaded)

      int main()
          std::string s("FNORD");
          std::transform(s.begin(), s.end(), s.begin(),

Which seems to work okay, and is probably a little better.

Thanks for the feedback,


Boost list run by bdawes at, gregod at, cpdaniel at, john at