【问题标题】:Are there any predefined concepts in Concepts TS?Concepts TS 中是否有任何预定义的概念?
【发布时间】:2015-08-28 14:47:51
【问题描述】:

'Concepts lite' 已被接受为 TS 并(示例实现)并入 GCC 主分支,因此后续问题是是否有预定义的概念(如 Sortable 或 @987654325 @)?

我在哪里可以找到这些预定义的概念?

the list at cppreference.com 是一个准确而详尽的列表吗?

我可以将它们与最新的 GCC 主干构建一起使用吗?



编辑 1:由于 C++17 不接受概念,将 C++17 更改为 TS。

【问题讨论】:

  • 当然是在标准中。
  • @MatthewRock:我在N3889 中找不到任何内容。你能给我举个例子吗?
  • this link 这样的东西可以作为首发吗?
  • @MatthewRock:谢谢,我已经看到了,但出于某种原因明白这不是我最初想要的。我的错。
  • “合并到 GCC 主分支”是否意味着当我下载 gcc 的下一个稳定版本(5.3?)时,它将支持 Concepts?

标签: c++ stl c++-concepts c++17


【解决方案1】:

Concepts TS 中没有定义任何概念(来源:我编写了 Concepts TS)。

这既不是疏忽也不是错误...我们的目标是在 TS 中发布一个纯语言扩展,让开发人员有时间在投入(大量)时间来定义标准库。

范围 TS 将定义标准库所需的概念。

GCC 可能会附带一些概念,但我还没有听说过这样做的任何具体计划。我有一个库,它定义了 Ranges TS 中出现的许多概念(但不是全部):https://github.com/asutton/origin,但我仍在研究可用的版本和适当的文档。它只针对来自主干的 GCC 进行编译。我希望下周能有足够的文档。

【讨论】:

    【解决方案2】:

    'Concepts lite' 已被 C++17 接受

    不,不是。这是一个单独的 TS。

    会有预定义的概念吗?

    不受概念 TS 限制,它仅限于语言功能。当前的Ranges TS working draft 确实定义了一些概念。

    【讨论】:

    • TS 相互依赖关系。有风险。
    • @Yakk 好吧,我相信 Ranges TS 在一定程度上被认为是对 Concepts TS 设计的重要测试。
    • Concepts 听起来不错,但我仍在寻找支持概念的编译器。我知道 gcc5.3 应该加倍努力,但 this 版本不起作用。你能帮忙下载“正确”的版本吗?
    • @LorahAttkins 您需要 GCC 主干(即 6 个)。 5.3没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多