测试std :: bitset中的位数范围

时间:2016-10-11 16:09:49

标签: c++ c++11 stl bitset std-bitset

是否有一种有效的方法来测试std::bitset中的子范围? This似乎没有建议。

see std::bitset::anystd::bitset:all(对于C ++ 11),但它们适用于整个集合,而不是子集。我希望的是anyall的重载版本。类似的东西:

bool all(size_t off, size_t len) const;

std::bitset::test也只是一点点。从理论上讲,我可以将bitset构造成bit bit,但这些bitset会相当大,这可能不合理。

思想?

谢谢!

1 个答案:

答案 0 :(得分:1)

(至少在理论上)您的标准库可能包含std::all_ofstd::any_ofstd::none_of专门针对std::bitset::iterator的算法的版本,这些算法使用了库的了解内部结构,提供比您自己更有效的实施方案。

如果没有,那么编写和贡献此类专业可能是值得的。当然,假设您的标准图书馆接受您愿意同意的条款。