我最好的猜测是,委员会要么忘记了这个用例,要么不想使用概念/要求将span
类型限制为可以安全散列的东西(POD,无填充),或者他们不想要一半的解决方案(等待反射)...
如果有人对这里感兴趣,godbolt链接带有无用的错误消息和代码,但我认为我的问题很清楚,没有任何代码。
#include <span>
#include <unordered_set>
#include <string_view>
int main() {
std::hash<std::string_view> h1;
std::hash<std::span<char>> h2; // error here
}
注意:我知道在散列方面缺少 C++std::
库,例如它不能散列std::pair<int,int>
,但我的问题特别是关于std::span
.