On Sep 17, 2017, at 5:13 PM, Robert Ramey via Boost
wrote: A couple of questions:
1)
It seems to be that this library only applies to function objects. Is this impression correct?
No.
I get this impression from the "getting started" and other material and I'm fine with this.
The “getting started” uses function objects because they are more powerful, but only a few adaptors are limited to a function object. Each adaptor is documented whether it takes a function object or a “Callable”.
But when I go to the reference for is_callable I find:
"The is_callable metafunction checks if the function is callable with certain parameters."
which seems to suggest that this meta function would work as expected when passed a pointer to a function. If it's to apply only to function objects, I would expect the above to read:
"The is_callable metafunction checks if the function object is callable with certain parameters.”
The documentation for `is_callable` states that "F must be Callable”, with a link to the “Callable” definition.
2)
I wonder about some names. In some cases it seems that the library provides some C++17 functionality under a different name:
is_callable ?-> std::is_invocable http://en.cppreference.com/w/cpp/utility/functional/invoke
apply ?-> std::invoke http://en.cppreference.com/w/cpp/utility/functional/invoke http://en.cppreference.com/w/cpp/utility/functional/invoke
Yes, those need to be renamed as Vicente pointed out as well. I have an issue for this rename here: https://github.com/pfultz2/Fit/issues/171