'Concepts lite'已被接受为TS和(示例实现)合并到GCC主分支中,因此后续问题是任何概念是否已预定义(如Sortable
或Random_access_range
)?
我在哪里寻找这样的预定义概念?
the list at cppreference.com是一个精确而详尽的清单吗?
我可以将它们与最新的GCC中继版本一起使用吗?
编辑1 :由于概念未被C ++ 17接受,因此将C ++ 17更改为TS。
答案 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确实定义了许多概念。