История изменений
Исправление quasimoto, (текущая версия) :
функцию
Если функцию, а не функтор, то тут ни loki ни даже <functional> не нужны
int foo(int(&f)(int, int)) { return f(2, 3); }
int foo(int(&f)(std::string const&)) { return f("ok"); }
Вообще не придраться :)
Если замыкание, то
int foo(std::function<int(int, int)> const& f) { return f(2, 3); }
int foo(std::function<int(std::string const&)> const& f) { return f("ok"); }
Тут всякие претензии на ужасы внутри стандартных заголовков не принимаются, т.к. туда смотреть не полагается :)
З.Ы.
class Foo t where foo :: t -> Int
instance a ~ Int => Foo (a -> a -> a) where foo f = f 2 3
instance a ~ String => Foo (a -> Int) where foo f = f "ok"
Исходная версия quasimoto, :
функцию
Если функцию, а не функтор, то тут ни loki ни даже <functional> не нужны
int foo(int(&f)(int, int)) { return f(2, 3); }
int foo(int(&f)(std::string const&)) { return f("ok"); }
Вообще не придраться :)
Если замыкание, то
int foo(std::function<int(int, int)> const& f) { return f(2, 3); }
int foo(std::function<int(std::string const&)> const& f) { return f("ok"); }
Тут всякие претензии на ужасы внутри стандартных заголовков не принимаются, т.к. туда смотреть не полагается :)