在c++17中,我有is_invocable
用来匹配函数指针,lambda和函子。
但是如果我被困在c++14上怎么办?我是否具有类型特征,或者我可以写一个可以满足所有这些特征的特征?
我尝试过is_function
,但这仅适用于函数指针。
答案 0 :(得分:1)
是的,std::is_invocable
是一个库函数,不需要编译器支持。您只需从您选择的STL中剥离实现即可。
__invokable
的LLVM实现(std::is_invocable
将LLVM的STL中的所有逻辑转发到该实现)
(我原本打算将其提取并发布在这里,但对于发布来说似乎太大了。从一个更轻松的角度来看,我发现拼写有所不同-可调用与可调用-有趣。)