3

'Concepts lite' 已经被接受为 TS 并且(示例实现)合并到 GCC 主分支中,所以后续问题是任何概念都会预定义(如SortableRandom_access_range)吗?

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

cppreference.com 上的列表是否准确而详尽?

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



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

4

2 回答 2

12

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

这既不是疏忽也不是错误……我们的目标是在 TS 中发布一个纯语言扩展,让开发人员在投入(大量)时间定义标准库所需的概念之前有时间试验新功能。

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

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

于 2015-09-03T18:38:52.300 回答
6

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

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

会有预定义的概念吗?

不受限于语言功能的概念 TS。当前的Ranges TS 工作草案确实定义了许多概念。

于 2015-08-28T14:56:05.743 回答