在concepts TS中有任何预定义的概念吗?

Are there any predefined concepts in Concepts TS?

本文关键字:预定义 任何 concepts TS      更新时间:2023-10-16

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

我在哪里寻找这些预定义的概念?

在cppreference.com的列表是一个准确和详尽的列表吗?

我可以在最新的GCC主干构建中使用它们吗?



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

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

这既不是疏忽也不是错误……目标是在TS中发布一个纯语言扩展,允许开发人员在提交(令人难以置信的大量)时间定义标准库所需的概念之前有时间试验新功能。

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

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

'Concepts lite'已经被c++ 17接受了

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

是否有预定义的概念?

不是由Concepts TS提供的,它仅限于语言特性。当前的Ranges TS工作草案确实定义了一些概念。