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

时间:2015-10-19 04:06:02

标签: c++ c++-concepts

正如a recent answerthis question所强调的那样,gcc现在支持来自其svn trunk的版本中的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工作。

没有进一步回复该帖子。

1 个答案:

答案 0 :(得分:4)

我的理解是GCC维护者计划实施即将发布的最终TS中指定的概念:enter image description here。大多数规范都是在GCC中实现的,除了&#34;广义自动扣除&#34;这是编译std::pair<auto, auto> foo = std::make_pair(x, y);之类的语法所必需的。实施仍然非常粗糙 - 快速搜索N4549 C++ Extensions for Concepts,确切地说,实施的内容以及每周都有效的变化。

  

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

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