'Concepts lite' 已经被接受为 TS 并且(示例实现)合并到 GCC 主分支中,所以后续问题是任何概念都会预定义(如Sortable
或Random_access_range
)吗?
我在哪里可以找到这些预定义的概念?
cppreference.com 上的列表是否准确而详尽?
我可以将它们与最新的 GCC 主干构建一起使用吗?
编辑 1:由于 C++17 不接受概念,将 C++17 更改为 TS。
'Concepts lite' 已经被接受为 TS 并且(示例实现)合并到 GCC 主分支中,所以后续问题是任何概念都会预定义(如Sortable
或Random_access_range
)吗?
我在哪里可以找到这些预定义的概念?
cppreference.com 上的列表是否准确而详尽?
我可以将它们与最新的 GCC 主干构建一起使用吗?
编辑 1:由于 C++17 不接受概念,将 C++17 更改为 TS。
概念 TS 中没有定义任何概念(来源:我编写了概念 TS)。
这既不是疏忽也不是错误……我们的目标是在 TS 中发布一个纯语言扩展,让开发人员在投入(大量)时间定义标准库所需的概念之前有时间试验新功能。
Ranges TS 将定义标准库所需的概念。
GCC 可能会附带一些概念,但我还没有听说过这样做的任何具体计划。我有一个库,它定义了 Ranges TS 中出现的许多概念(但不是全部): https ://github.com/asutton/origin ,但我仍在研究可用的版本和适当的文档。它只针对来自主干的 GCC 进行编译。我希望下周能有足够的文件。