所以我有一个概念preg_match_all($pattern, $string, $out);
:
$out
我有一个类模板$key[1]
,它使用类型Fooable
作为模板参数,并且我只想在template <typename T>
concept bool Fooable()
{
return requires(...){ ... };
}
为Bar
的情况下启用成员函数:
T
在带有概念TS的C ++ 17中还是在C ++ 2a中是否可能?
答案 0 :(得分:11)
在Concepts TS和C ++ 20设计中,函数均具有可选的尾随 requires-clause 。因此,您无需使成员函数成为模板即可对其进行约束:
void MemFun() requires Fooable<T>;
答案 1 :(得分:4)
在函数的尾随位置可以使用约束:
template <typename T>
class Bar
{
public:
void MemFun() requires Fooable<T>;
};