ISO/IEC TR 19768-2007
信息技术.编程语言.关于C++库扩展的技术报告

Information technology - Programming languages - Technical Report on C++ Library Extensions


 

 

非常抱歉,我们暂时无法提供预览,您可以试试: 免费下载 ISO/IEC TR 19768-2007 前三页,或者稍后再访问。

如果您需要购买此标准的全文,请联系:

点击下载后,生成下载文件时间比较长,请耐心等待......

 

标准号
ISO/IEC TR 19768-2007
发布日期
2007年11月01日
实施日期
废止日期
中国标准分类号
L74
国际标准分类号
35.060
发布单位
IX-ISO
适用范围
1 This Technical Report describes extensions to the C++ standard library that is described in the International Standard for the C++ programming language [14]. 2 This Technical Report is non-normative. Some of the library components in this Technical Report may be considered for standardization in a future version of C++, but they are not currently part of any C++ standard. Some of the components in this Technical Report may never be standardized, and others may be standardized in a substantially changed form. 3 The goal of this Technical Report is to build more widespread existing practice for an expanded C++ standard library. It gives advice on extensions to those vendors who wish to provide them. 1.1 Relation to C++ Standard Library Introduction [tr.description] 1 Unless otherwise specified, the whole of the ISO C++ Standard Library introduction [lib.library] is included in this Technical Report by reference. 1.2 Categories of extensions [tr.intro.ext] 1 This Technical Report describes four general categories of library extensions: 1. New requirement tables, such as the regular expression traits requirements in 7.2. These are not directly expressed as software; they specify the circumstances under which user-written components will interoperate with the components described in this Technical Report. 2. New library components (types and functions) that are declared in entirely new headers, such as the class templates in the header (6.3.4.1). 3. New library components declared as additions to existing standard headers, such as the mathematical special functions added to the headers and in 5.2.1 and 5.2.2 4. Additions to standard library components, such as the extensions to class std::pair in 6.1.4. 2 New headers are distinguished from extensions to existing headers by the title of the synopsis clause. In the first case, the title is of the form “Header synopsis”, and the synopsis includes all namespace scope declarations contained in the header. In the second case, the title is of the form “Additions to header synopsis” and the synopsis includes only the extensions, i.e. those namespace scope declarations that are not present in the C++ standard [14]. 1.3 Namespaces and headers [tr.intro.namespaces] 1 Since the extensions described in this Technical Report are not part of the C++ standard library, they should not be declared directly within namespace std. Unless otherwise specifed, all components described in this Technical Report are declared in namespace std::tr1. [Note: Some components are declared in subnamespaces of namespace std::tr1. —end note] 2 Unless otherwise specified, references to other entities described in this Technical Report are assumed to be qualified with std::tr1::, and references to entities described in the International Standard are assumed to be qualified with std::. 3 Even when an extension is specified as additions to standard headers (the third category in 1.2), vendors should not simply add declarations to standard headers in a way that would be visible to users by default. [Note: That would fail to be standard conforming, because the new names, even within a namespace, could conflict with user macros. —end note] Users should be required to take explicit action to have access to library extensions. 4 It is recommended either that additional declarations in standard headers be protected with a macro that is not defined by default, or else that all extended headers, including both new headers and parallel versions of standard headers with non-standard declarations, be placed in a separate directory that is not part of the default search path.




Copyright ©2007-2022 ANTPEDIA, All Rights Reserved
京ICP备07018254号 京公网安备1101085018 电信与信息服务业务经营许可证:京ICP证110310号