【问题标题】:Concepts-Lite in gcc (with links to TS)gcc 中的 Concepts-Lite(带有到 TS 的链接)
【发布时间】:2015-10-19 04:06:01
【问题描述】:

正如 a recent answerthis question 所强调的那样,gcc 现在支持从其 svn 主干构建的 concepts-lite

同样的问题链接到最近的 TS,N4377编辑 - 答案有更新的 TS。

可以找到标记为 N3580 的有用论文 - 这是 2013 年的论文,作者是 Andrew Sutton、Bjarne Stroustrup 和 Gabriel Dos Reis。

可以找到标记为N4434 的对 N4377 的调整列表。这给出了对 N4377 论文的 3 处建议更改,并将其列为回复点 Walter E. Brown。

这些论文/技术规范相似,但在每种情况下都有各种小的变化。

是否有一些简单的方法可以发现 gcc 当前实现了什么?或者确实有计划实施?

作为一个附带问题:ConceptClang 或一些类似名称的项目是否与 c++1z 概念相关? 2015 年 5 月的mailing list post 收集了一些想法,特别是:

Larisse 可能对 ts 的概念做了一些工作,除了 她的 C++0x 努力。

没有进一步回复该帖子。

【问题讨论】:

    标签: c++ c++-concepts


    【解决方案1】:

    据我了解,GCC 维护者计划实施即将发布的最终 TS 中指定的概念:N4549 C++ Extensions for Concepts。该规范的大部分是在 GCC 中实现的,除了“广义自动演绎”之外,它是编译 std::pair<auto, auto> foo = std::make_pair(x, y); 等语法所必需的。实现仍然非常粗糙 - 快速搜索 open bugs with "[concepts]" in the title has 38 hits,因此具体实现了什么以及效果如何每周都会发生变化。

    ConceptClang 或一些类似名称的项目是否与 c++1z 概念相关?

    ConceptClang 是(是?)C++0x 概念的实现,我相信它已经死了一段时间了。在过去的几个月里,有一些人开始考虑在 clang 中实现 Concepts TS,他们只提交了少数补丁来识别 concept 关键字并解析 concept 函数和变量声明的语法.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多