2007 年发布了基于 Boost.Asio的最新完整网络库提案。当时,C++0x 仍计划在 2010 年之前的某个时间,并且还有 C++ 技术报告 2 的计划。这个想法是将网络库导入 TR2。
在 C++0x 上的工作显然吸引了所有人的注意力,因为在网络库发布之前,它并没有发生太多其他事情。2012 年,他们制作了一份网络库状态报告,并注意到在过去 5 年中,Boost.Asio 发生了很多变化。成立了一个研究小组(SG4) 来研究网络图书馆。
现在 TR2 似乎并没有发生,它在 C++14 及更高版本中全速前进。据我所知,没有明确提及 SG4 的计划时间框架。然而,自从它成立以来,这些是来自邮件的最新文件:
因此,将这些与完整的 TR2 提案结合起来,您就可以很好地了解当前的状态。
具体什么时候来?
似乎没有具体的时间框架。希望我们能在 C++14 之前的某个时候(甚至可能在 2013 年)看到技术规范,但这只是猜测。完成后就会完成。
它是否支持可移植二进制序列化?
我不这么认为。我在任何论文中都找不到任何关于序列化的内容。我认为这可能超出了网络库的范围。
它可以序列化为 iostreams,如 files/std::cout 等吗?
往上看。
除了邮件列表,还有其他地方可以找到当前状态吗?
现在不行。但是,他们已经逐渐将每个研究组的邮件列表公之于众,所以也许 SG4 很快就会公之于众。如果是这样,我们将更好地了解当前的进展。
GCC/Clang 什么时候实现?
还没有!
2013 年 1 月,文件系统库提案的修订版 4 出现在邮件列表中。同样,我没有看到明确的时间框架,但这个和网络图书馆是目前最受关注的两个图书馆研究小组。希望我们也能在今年某个时候或至少在 2014 年之前看到这方面的技术规范。
本来这个月就可以做样机了,怎么找不到了?
我还没有看到任何关于原型的东西,但我想有时事情会比计划的时间长一点。也许它还没有公开。布里斯托尔会议将于下个月举行,所有研究组的进展报告都已列入议程。我敢肯定,当它准备好时,我们会看到技术规范。
和 boost::filesystem 一样吗?
差不多!看看最新版本;它提到它在很大程度上基于Boost Filesystem Library版本 3。有一小部分关于差异:
在 Boost 库中,类路径中用于处理具有操作系统本机编码以外的编码的窄(即字符)字符串的工具取决于 codecvt 参数。在提案中,这些设施取决于语言环境参数,并添加了额外的 UTF-8 设施。文件系统研究组认为这种方法更加可靠和有用,特别是随着 UTF-8 的使用不断普及。
否则,该提案与 Boost 库非常相似。事实上,大多数提议的措辞都是从与 Boost 库的参考文档相同的来源生成的。