是否有一种有效的方法来测试std::bitset
中的子范围? This似乎没有建议。
我see std::bitset::any
和std::bitset:all
(对于C ++ 11),但它们适用于整个集合,而不是子集。我希望的是any
和all
的重载版本。类似的东西:
bool all(size_t off, size_t len) const;
std::bitset::test
也只是一点点。从理论上讲,我可以将bitset构造成bit bit,但这些bitset会相当大,这可能不合理。
思想?
谢谢!
答案 0 :(得分:1)
(至少在理论上)您的标准库可能包含std::all_of
,std::any_of
和std::none_of
专门针对std::bitset::iterator
的算法的版本,这些算法使用了库的了解内部结构,提供比您自己更有效的实施方案。
如果没有,那么编写和贡献此类专业可能是值得的。当然,假设您的标准图书馆接受您愿意同意的条款。