Я пытаюсь создать функтор, который возвращает shared_ptr, вызывая std :: bind для std :: make_shared, но синтаксис за мной, или, возможно, это даже невозможно?Примерно так: при условии, что конструктор MyBar принимает константную ссылку на MyFoo:
std::function<std::shared_ptr<MyBar>(const MyFoo &)> functor = std::bind(&std::make_shared<MyBar>, std::placeholders::_1);