invoke.hpp
std::invoke/std::apply analogs for C++11/14
Requirements
Installation
invoke.hpp is a header-only library. All you need to do is copy the headers files from headers
directory into your project and include them:
#include "invoke.hpp/invoke.hpp"
Also, you can add the root repository directory to your cmake project:
add_subdirectory(external/invoke.hpp)
target_link_libraries(your_project_target PUBLIC invoke.hpp::invoke.hpp)
API
invoke_hpp::invoke(F&& f, Args&&... args)
Analog of std::invoke
from C++17
invoke_hpp::invoke_result<F, Args...>
Analog of std::invoke_result
from C++17
invoke_hpp::invoke_result_t<F, Args...>
Analog of std::invoke_result_t
from C++17
invoke_hpp::is_invocable<F, Args...>
Analog of std::is_invocable
from C++17
invoke_hpp::is_invocable_r<R, F, Args...>
Analog of std::is_invocable_r
from C++17
invoke_hpp::apply(F&& f, Tuple&& args)
Analog of std::apply
from C++17