UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

CSA ISO/IEC TR 19768

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

active, Most Current
Buy Now
Organization: CSA
Publication Date: 1 January 2008
Status: active
Page Count: 209
ICS Code (Languages used in information technology): 35.060
scope:

This Technical Report describes extensions to the C++ standard library that is described in the International Standard for the C++ programming language [14].

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.

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.

Relation to C++ Standard Library Introduction

1 Unless otherwise specified, the whole of the ISO C++ Standard Library introduction [lib.library] is included in this Technical Report by reference.

Categories of extensions

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].

Namespaces and headers

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

Document History

September 1, 2008
Information technology — Programming languages — Technical Report on C++ Library Extensions
This Technical Report describes extensions to the C++ standard library that is described in the International Standard for the C++ programming language [14]. This Technical Report is non-normative....
January 1, 2008
Information technology — Programming languages — Technical Report on C++ Library Extensions
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...
CSA ISO/IEC TR 19768
January 1, 2008
Information technology - Programming languages - Technical Report on C++ Library Extensions
This Technical Report describes extensions to the C++ standard library that is described in the International Standard for the C++ programming language [14]. This Technical Report is non-normative....
January 1, 2008
Information technology - Programming languages - Technical Report on C++ Library Extensions
This Technical Report describes extensions to the C++ standard library that is described in the International Standard for the C++ programming language [14]. This Technical Report is non-normative....

References

Advertisement