c++ - 如何测试概念中是否存在类型?

标签 c++ c++20 c++-concepts

如何测试概念模板参数中是否存在成员类型,即对于 typename Container , 测试 Container::reverse_iterator ?什么是正确的要求条款?

最佳答案

我们使用恰当命名的 type requirement 来做到这一点。 :

template<class Container>
concept has_reverse_iterator = requires {
    typename Container::reverse_iterator;
};

关于c++ - 如何测试概念中是否存在类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69242166/

相关文章:

c++ - 为什么标准库类型可以在 `std` 内部访问,尽管它们嵌套在实现定义的命名空间中?

c++ - 特殊化构造函数,需要可能的引用类型

c++ - HLS - 使用循环时数组参数接口(interface)不同

c++ - 如何重载operator []以索引自定义 vector 类的shared_ptr元素?

C++ 开关与成员函数指针与虚拟继承

c++ - 强制类模板特化以提供一种或多种方法

c++ - 概念 std::equality_comparable_with 不适用于用户定义的相等运算符

c++ - 静态库 - 调试还是发布?

c++ - 新的迭代器要求

c++ - 是否可以在带有自定义规则的 bazel 中使用 C++20 模块?