I have a class Foo
class Foo;
a factory returning a pointer to it:
std::unique_ptr<Foo> createFoo();
and, since I have been told by Herb that a plain function with no special claim on the lifetime of Foo should take plain naked pointers:
void plainf(Foo* f);
How is my client supposed to correctly do this?
plainF(createFoo());
He would not be happy if he had to write:
auto someName = createFoo();
plainF(someName.get());