Mor*_*enn 15
我不会重复已经做过的有关网络,算法,文件系统,变体等的内容.但是,我可以讨论一下你对signal2的观点以及更多一点.
过去N2086已经提出将Boost.Signals2纳入TR2.实际上它更像是Boost.Signals2和libsigc ++之间的混合.从我所读到的,人们相当有利于将信号纳入标准,但该论文需要更多的工作,这项工作从未完成[ 引证需要 ].
现在,为了使论文适应C++ 17,还需要做更多的工作,但如果有人愿意完成任务,信号可能仍然是一个很好的候选者.
不要误解我的意思,Boost.Container并没有被提议作为一个整体包含在C++ 17中.但是,图书馆确实对某些提案有一些影响.原因如下:
N4510建议某些标准容器可以包含不完整的类型,以便您可以使用"递归"类型.以下是本文的最小例子:
struct Entry
{
std::list<Entry> messages;
// ...
};
Run Code Online (Sandbox Code Playgroud)
本文仅提出std::vector,std::list并std::forward_list有这些要求,使GCC,锵和MSVC库是C++ 17规格的开箱即用,并鼓励他们实现另一个标准箱,使他们也能适合成语.这种递归容器实际上是Boost.Container在标准库容器上带来的第一个改进之一.
N4526讨论了游戏行业和嵌入式行业对C++及其标准库的关注.别的不说,它注意到,许多人实际上只是等着有人写论文提出的包容boost::flat_map和boost::flat_set从Boost.Container到标准库.虽然它可能根本没有写,或者至少没有及时写入C++ 17,但是可以接受写得很好的论文.更新: P0038实际上建议考虑将扁平容器包含在标准库中.
虽然这个库是相当新的(2012,Boost 1.50),但它有助于形成一些新算法,这些算法已包含在库基础知识TS和/或C++ 17中:
N4536和P0025建议标准化clamp函数以钳制一对边界值之间的值.这些建议提到了clampBoost.Algorithm 的功能,作为设计灵感的来源.
N3905和随后的旨在修复设计错误的论文提出了标准化的新搜索算法,最着名的是Boyer-Moore和Boyer-Moore-Horspool字符串搜索算法,这些算法自创建以来一直存在于Boost.Algorithm中.
Boost的其他功能列表已经讨论过,或者对某些提案产生了很大影响:
它没有进入C++ 14,但是std::optional,受Boost.Optional的启发,它应该毫无问题地进入C++ 17.
该特殊数学函数被合并到C++ 17.这些功能是TR1和Boost的一部分.Math已将它们包括多年.
std::not_fn 被合并到C++ 17并且已经在Boost中生活了多年.
P0013建议添加元函数and_,or_并添加not_到标准库,并引用Boost.MPL作为长期实现这些功能的标准库之一.更新:通过了C++ 17 std::conjunction,std::disjunction和std::negation.
P0033指出std::enable_shared_from_this弱指定,并建议标准化与Boost版本的实用程序相同的行为.它还建议标准化boost::weak_from_this以完成家庭.
许多提议的并发功能已经在Boost(std::barrier,std::latch...)中.但是,应该注意它们已经在Boost中实现,因为它们已被提议包含在标准库中.这一次,它反过来了.对其他已经存在的类进行一些修改也是如此.
Mar*_*low 10
any并且variant收到了很多兴趣,Boost.Algorithm中的搜索内容在Library Fundamentals TS中.
据我所知,没有人提出过Signals2或Lockfree.
| 归档时间: |
|
| 查看次数: |
2856 次 |
| 最近记录: |