c++ - 测试 std::bitset 中的位范围

标签 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 也只是一个位。理论上,我可以构造位集来对付位,但这些位集将相当大,这可能不合理。

想法?

谢谢!

最佳答案

您的标准库有可能(至少理论上)有 std::all_ofstd::any_ofstd::none_of 版本 专门针对 std::bitset::iterator 的算法,利用库的内部知识提供比您自己更高效的实现。

如果没有,那么编写和贡献这样的专业可能是非常值得的。当然,假设您的标准库按照您愿意同意的条款接受此类贡献。

关于c++ - 测试 std::bitset 中的位范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39981829/

相关文章:

c++ - =delete 用于用户定义的成员函数,除了构造函数、赋值运算符 c++11

C++ STL 二进制搜索(lower_bound,upper_bound)

c++ - 基类 'class std::vector<...>' 有一个非虚析构函数

c++ - 可以采用 lambda 或函数指针并推断参数以传递给另一个模板的模板函数

c++ - 是否有像管道一样工作的 C++ STL 类?

c++ - 我无法从此 vector 检索输出

c++ - 包含时没有这样的文件 iostream.h

c++ - 我可以直接在VC9项目中使用用VC6构建的C风格库吗?

c++ - 这种 CRC32 方法的大端兼容版本会是什么样子?

c++ - std::is_convertible 与 std::function 不一致