ISO/IEC JTC 1/SC 22/WG 21 - C++
C++
General Information
This document specifies requirements for implementations of the C++ programming language. The first such requirement is that they implement the language, so this document also defines C++. Other requirements and relaxations of the first requirement appear at various places within this document. C++ is a general purpose programming language based on the C programming language as described in ISO/IEC 9899:2018 Programming languages — C (hereinafter referred to as the C standard). C++ provides many facilities beyond those provided by C, including additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.
- Standard1853 pagesEnglish languagesale 15% off
This document describes extensions to the C++ Programming Language (Clause 2) that introduce modules, a functionality for designating a set of translation units by symbolic name and ability to express symbolic dependency on modules, and to define interfaces of modules. These extensions include new syntactic forms and modifications to existing language semantics. ISO/IEC 14882 provides important context and specification for this document. This document is written as a set of changes against that specification. Instructions to modify or add paragraphs are written as explicit instructions. Modifications made directly to existing text from ISO/IEC 14882 use underlining to represent added text and strikethrough to represent deleted text.
- Technical specification29 pagesEnglish languagesale 15% off
ISO/IEC TS 22277:2017 describes extensions to the C++ Programming Language (Clause 2) that enable definition of coroutines. These extensions include new syntactic forms and modifications to existing language semantics. The International Standard, ISO/IEC 14882:2014, provides important context and specification for this document. This document is written as a set of changes against that specification. Instructions to modify or add paragraphs are written as explicit instructions. Modifications made directly to existing text from the International Standard use underlining to represent added text and strikethrough to represent deleted text.
- Technical specification18 pagesEnglish languagesale 15% off
ISO/IEC TS 21425:2017 describes extensions to the C++ Programming Language (2) that permit operations on ranges of data. These extensions include changes and additions to the existing library facilities as well as the extension of one core language facility. In particular, changes and extensions to the Standard Library include: - The formulation of the foundational and iterator concept requirements using the syntax of the Concepts TS (2). - Analogues of the Standard Library algorithms specified in terms of the new concepts. - The loosening of the algorithm constraints to permit the use of sentinels to denote the end of a range and corresponding changes to algorithm return types where necessary. - The addition of new concepts describing range and view abstractions; that is, objects with a begin iterator and an end sentinel. - New algorithm overloads that take range objects. - Support of callable objects (as opposed to function objects) passed as arguments to the algorithms. - The addition of optional projection arguments to the algorithms to permit on-the-fly data transforma- tions. - Analogues of the iterator primitives and new primitives in support of the addition of sentinels to the library. - Constrained analogues of the standard iterator adaptors and stream iterators that satisfy the new iterator concepts. - New iterator adaptors (counted_iterator and common_iterator) and sentinels (unreachable). Changes to the core language include: - the extension of the range-based for statement to support the new iterator range requirements (10.4). ISO/IEC TS 21425:2017 does not specify constrained analogues of other parts of the Standard Library (e.g., the numeric algorithms), nor does it add range support to all the places that could benefit from it (e.g., the containers). ISO/IEC TS 21425:2017 does not specify any new range views, actions, or facade or adaptor utilities; all are left as future work.
- Technical specification158 pagesEnglish languagesale 15% off
ISO/IEC 14882:2017 specifies requirements for implementations of the C++ programming language. The first such requirement is that they implement the language, so this document also defines C++. Other requirements and relaxations of the first requirement appear at various places within this document. C++ is a general purpose programming language based on the C programming language as described in ISO/IEC 9899:2011 Programming languages ? C (hereinafter referred to as the C standard). In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.
- Standard1605 pagesEnglish languagesale 15% off
- Standard1605 pagesEnglish languagesale 15% off
ISO/IEC TS 19841:2015 describes extensions to the C++ Programming Language (1.3) that enable the specification of Transactional Memory. These extensions include new syntactic forms and modifications to existing language and library. The International Standard, ISO/IEC 14882, provides important context and specification for this Technical Specification. This document is written as a set of changes against that specification. Instructions to modify or add paragraphs are written as explicit instructions. Modifications made directly to existing text from the International Standard use green to represent added text and strikethrough to represent deleted text. ISO/IEC TS 19841:2015 is non-normative. Some of the functionality described by this Technical Specification may be considered for standardization in a future version of C++, but it is not currently part any C++ standard. Some of the functionality in this Technical Specification may never be standardized, and other functionality may standardized in a substantially changed form. The goal of this Technical Specification is to build widespread existing practice for Transactional Memory. It gives advice on extensions to those vendors who wish to provide them
- Technical specification33 pagesEnglish languagesale 15% off
ISO/IEC TR 24733:2011 specifies an extension to the programming language C++, specified by ISO/IEC 14882:2003. The extension provides support for decimal floating-point arithmetic that is consistent with the specification in IEEE 754-2008. ISO/IEC TR 24733:2011 does not consider the binary floating-point arithmetic specified in IEEE 754-2008.
- Technical report56 pagesEnglish languagesale 15% off
ISO/IEC 29124:2010 specifies extensions to the C++ standard library as defined in the International Standard for the C++ programming language (ISO/IEC 14882:2003). ISO/IEC 29124:2010 specifies extensions to the C++ standard library to support mathematical special functions.
- Standard21 pagesEnglish languagesale 15% off
ISO/IEC TR 19768:2007 specifies a series of extensions to the standard library for the programming language C++, as specified by ISO/IEC 14882, in order to build more widespread existing practice for an expanded C++ standard library. Some of the components in ISO/IEC TR 19768:2007 could be considered for standardization in a future version of C++. The specific classes of extensions specified in ISO/IEC TR 19768:2007 are as follows: general utilities such as reference-counted pointers; functional programming; facilities for compile-time type queries; enhanced support for numerical computation; hash tables and other additional container classes; regular expression processing; improved capability with the programming language C, as specified by ISO/IEC 9899.
- Technical report186 pagesEnglish languagesale 15% off
- Technical report186 pagesEnglish languagesale 15% off
The aim of ISO/IEC TR 18015 is to: give the reader a model of time and space overheads implied by use of various C++ language and library features; debunk widespread myths about performance problems in C++; present techniques for use of C++ in applications where performance matters; and present techniques for implementing C++ standard language and library facilities to yield efficient code. The special needs of embedded systems programming are presented, including ROMability and predictability. A separate chapter presents general C and C++ interfaces to the basic hardware facilities of embedded systems.
- Technical report197 pagesEnglish languagesale 15% off
ISO/IEC TS 18822:2015 specifies requirements for implementations of an interface that computer programs written in the C++ programming language may use to perform operations on file systems and their components, such as paths, regular files, and directories. This Technical Specification is applicable to information technology systems that can access hierarchical file systems, such as those with operating systems that conform to the POSIX (3) interface. This Technical Specification is applicable only to vendors who wish to provide the interface it describes.
- Technical specification63 pagesEnglish languagesale 15% off
ISO/IEC 14882:2014 specifies requirements for implementations of the C++ programming language. The first such requirement is that they implement the language, and so this International Standard also defines C++. Other requirements and relaxations of the first requirement appear at various places within this International Standard. C++ is a general purpose programming language based on the C programming language as described in ISO/IEC 9899:1999 Programming languages ? C (hereinafter referred to as the C standard). In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.
- Standard1358 pagesEnglish languagesale 15% off
- Standard1358 pagesEnglish languagesale 15% off
ISO/IEC 14882:2011 specifies requirements for implementations of the C++ programming language. The first such requirement is that they implement the language, and so ISO/IEC 14882:2011 also defines C++. Other requirements and relaxations of the first requirement appear at various places within ISO/IEC 14882:2011. C++ is a general purpose programming language based on the C programming language as specified in ISO/IEC 9899:1999. In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.
- Standard1338 pagesEnglish languagesale 15% off
- Standard1338 pagesEnglish languagesale 15% off
ISO/IEC 14882:2003 specifies requirements for implementations of the C++ programming language and standard library. By implication, it also defines C++ programs and their behavior. C++ is a general-purpose programming language based on the C programming language as described in ISO/IEC 9899:1990. In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, inline functions, operator overloading, function-name overloading, references, free-store management operators, and additional library facilities.
- Standard757 pagesEnglish languagesale 15% off
- Standard757 pagesEnglish languagesale 15% off
- Standard732 pagesEnglish languagesale 15% off