Skip to content

BlackMATov/invoke.hpp

Repository files navigation

invoke.hpp

std::invoke/std::apply analogs for C++11/14

linux darwin windows language license

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