
On 10/1/07, Joel de Guzman <joel@boost-consulting.com> wrote:
Joel de Guzman wrote:
Hence, I'd like to propose an extension (or a separate library) for allowing overloads for boost.function. The example above can be declared as:
boost::overload< std::string(std::string, std:string) , std::string(std::string, char) , std::string(std::string, char const*) , std::string(char, std::string) , std::string(char const*, std::string) > concat;
Or possibly (perhaps) typedef fusion::vector< std::string(std::string, std:string) , std::string(std::string, char) , std::string(std::string, char const*) , std::string(char, std::string) , std::string(char const*, std::string) > overloads_sequence; boost::overload<overloads_sequence> concat; Just one question. Is it possible, given a class T to deduce its implicit convrsions? As example class A { A(); A(const A&) ; A(int); explicit A(double); }; typedef implicit_conversions<A> implicits; where 'implicits' is, as example, fusion::vector<void, int, double, const A&> Thanks Marco