Concepts TS中是否有任何预定义的概念?

时间:2015-08-28 14:47:52

标签: c++ stl c++-concepts c++17

'Concepts lite'已被接受为TS和(示例实现)合并到GCC主分支中,因此后续问题是任何概念是否已预定义(如SortableRandom_access_range)?

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

the list at cppreference.com是一个精确而详尽的清单吗?

我可以将它们与最新的GCC中继版本一起使用吗?



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

2 个答案:

答案 0 :(得分:12)

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

这既不是疏忽也不是错误......目标是在TS中提供纯语言扩展,允许开发人员在提交(非常多的)时间之前尝试新功能,定义所需的概念。标准图书馆。

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

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

答案 1 :(得分:6)

  

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

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

  

是否会预定义任何概念?

不受概念TS的限制,仅限于语言功能。当前Ranges TS working draft确实定义了许多概念。