Gcc中的概念-Lite(带有TS的链接)

chr*_*244 5 c++ c++-concepts

最近这个问题的回答强调,gcc现在支持concepts-litesvn trunk的构建.

同样的问题链接到最新的 TS,N4377.编辑 - 答案有一个较新的TS.

一篇有用的论文标题为N3580 - 这是2013年,作者是Andrew Sutton,Bjarne Stroustrup和Gabriel Dos Reis.

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

这些论文/技术规格相似,但每种情况都有各种小的变化.

是否有一些简单的方法来发现gcc当前实现的内容?或者确实,计划实施?

作为一个附带问题:是否ConceptClang有一些类似命名的项目与c ++ 1z概念有关?一个邮件列表后,从2015年5月收集了一些想法,特别是:

除了她的C++ 0x工作之外,Larisse可能会为概念ts做一些工作.

没有进一步回复该线程.

Cas*_*sey 4

据我了解,GCC 维护者计划实现即将发布的最终 TS 中指定的概念:N4549 C++ 概念扩展。该规范的大部分内容都是在 GCC 中实现的,但“广义自动推导”是一个值得注意的例外,它是编译std::pair<auto, auto> foo = std::make_pair(x, y);. 实现仍然非常粗糙 - 快速搜索标题中带有“[概念]”的未解决错误有 38 个点击,因此具体实现的内容和效果良好的内容每周都会发生变化。

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

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