C++ Standardization Net TS1 & Filesys TS

C++ Standardization Net TS1 & Filesys TS

本文关键字:Filesys TS TS1 Standardization Net C++      更新时间:2023-10-16

我有几个关于标准化的问题,特别是今年即将到来的Net TS1原型(见这里)。

  • 它到底什么时候来?
  • 是否支持可移植二进制序列化?
  • 是否可以像files/std::cout等一样序列化到iostreams ?
  • 除了邮件列表之外,还有其他地方可以找到当前状态吗?
  • GCC/Clang什么时候实现?

文件系统(Filesys TS):

    这个月应该完成原型的,为什么我到处都找不到?
  • 是否与boost::filesystem相同?(所以它可以很容易地被移植)

我希望我没有问太多的问题,我也希望一些可以回答!

基于Boost的最新完整Networking Library提案。《亚洲》于2007年出版。那时,c++ 0x仍计划在2010年之前的某个时间发布,而且还计划发布c++技术报告2。我们的想法是把网络库放到TR2中。

在c++ 0x上的工作显然偷走了所有人的注意力,因为直到它发布之后,网络库才发生了很多其他的事情。2012年,他们制作了一份网络库状态报告,并注意到Boost发生了很多变化。在过去的5年里。成立了一个研究小组(SG4)来研究网络库。

现在,TR2似乎还没有出现,而c++ 14及其以后的版本已经在全速前进了。据我所知,还没有明确提到SG4的计划时间框架。然而,自从它成立以来,这些是来自邮件的最新论文:

  • 在c++ 11 (N3388)中使用Asio
  • Urdl:一个简单的访问web内容的库(N3477)
  • c++ Internet Protocol Classes (N3477)
  • c++的URI库(N3507)
  • IP地址设计约束(N3565)
  • 三级IP地址建议(N3603)
  • 网络字节顺序转换(N3620)

因此,将这些与完整的TR2提案结合起来,您将对当前状态有一个很好的了解。

  1. 它到底什么时候来?

    似乎没有一个具体的时间框架。希望我们能在c++ 14之前的某个时候看到技术规范(甚至可能在2013年),但这仅仅是猜测。

  2. 是否支持可移植二进制序列化?

    我不这么认为。我在任何报纸上都找不到连载的内容。我想这可能超出了Networking Library的范围

  3. 它可以序列化到iostreams像files/std::cout等吗?

    见上图。

  4. 除了邮件列表之外,还有其他地方可以找到当前状态吗?

    现在没有。然而,他们已经逐渐公开了每个学习小组的邮件列表,所以SG4可能很快就会公开。

  5. GCC/Clang什么时候实现?

    没有!


2013年1月,文件系统库提案的第4版进入了邮件列表。同样,我没有看到明确的时间框架,但这个和网络图书馆是目前最受关注的两个图书馆学习小组。希望我们也能在今年的某个时候,或者至少在2014年之前看到它的技术规范。

  1. 这个月应该完成原型,为什么我到处都找不到?

    我还没有看到任何关于原型的东西,但我想事情有时会比计划的要长一些。也许它只是还没有公开。布里斯托尔会议将于下个月举行,所有研究小组的进展报告都在议程上。我相信当技术规格准备好后我们会看到的。

  2. 是否与boost::filesystem相同?

    差不多!看看最新的版本;它提到它在很大程度上基于Boost文件系统库版本3。有一小部分是关于差异的:

    在Boost库中,类路径中的处理窄(即char)字符串的功能与操作系统的本机编码不同,取决于codecvt参数。在建议中,这些功能依赖于语言环境参数,并添加了额外的UTF-8功能。文件系统研究小组认为这种方法更加可靠和有用,特别是在UTF-8的使用继续传播的情况下。

    否则,该建议与Boost库非常相似。实际上,大多数建议的措辞都是从Boost库的参考文档的相同来源生成的。

像所有正式的ISO c++文档一样,技术规范在完成后出现。它将支持什么还很难说。如果还没有准备好,文章可能会被删减,或者相反,为了得到想要的文章,可能会推迟出版。例如,c++ 98被延迟了大约2年才合并到STL中。

FileSystem TS确实是从Boost FileSystem派生出来的,所以很可能有高度的通用性。