Move cpp_function to its own header file for further refactoring
#2807
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Move
cpp_functionto its own header filepybind11/detail/function.h, because I find it hard to refactorcpp_functionaspybind11/pybind11.his too long. I specifically choose thedetaildirectory as I'd like to splitcpp_functioninto two parts in the long term: one part (inpybind11namespace) being anobjectwrapper around a C++ function and another part (indetailnamespace) dispatching the actual function call. I'll provide more details about these refactoring in upcoming PRs. This PR also moves signature and docstring generation ofcpp_functionto separate functions.