ISO/IEC TS 19841:2015
Technical Specification for C++ Extensions for Transactional Memory
Technical Specification for C++ Extensions for Transactional Memory
- Статус документа:
- Действующий
- Формат:
- Электронный (PDF)
- Количество страниц:
- 33
- Дата публикации:
- 16 сентября 2015 г.
- Издание:
- ISO/IEC TS 19841 edition 1 version 1
- ICS:
- 35.060
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
Abstract
Overview
ISO/IEC TS 19841:2015 - Technical Specification for C++ Extensions for Transactional Memory is an informative (non‑normative) Technical Specification that describes proposed extensions to the C++ language and standard library to support Transactional Memory (TM). Written as a set of changes against the International Standard ISO/IEC 14882 (C++), the document specifies new syntactic forms and library modifications that enable programmers and implementers to express transactions, transaction-safety, and related runtime behavior. It is intended to document existing practice, provide guidance to vendors, and inform potential future standardization - not to introduce mandatory changes to the C++ standard.
Key topics and technical requirements
- Language extensions and syntax: The TS describes new syntactic constructs (presented as modifications to ISO/IEC 14882) to express transactional regions and related constructs.
- Statements and control: Entries in the table of contents reference constructs such as synchronized statement and atomic statement, showing the TS addresses transactional control flow and jump/exception interactions inside transactions.
- Transaction-safety and conversions: Sections like Transaction-safety conversion and transaction-safe function define how code and functions are categorized or converted with respect to transactional execution.
- Library support: The TS adds or modifies library components for transactional use, e.g. tx_exception (transaction exception type), and introduces requirements for transaction safety within the C++ library.
- Diagnostics and runtime: Coverage includes exception handling, diagnostics, and runtime support relevant to transactions (throwing/handling exceptions inside transactional contexts).
- Implementation guidance: Clauses on implementation compliance, feature testing, and conforming implementations guide compiler and library vendors on how to provide and test TM features.
- Informative nature: The document uses explicit edit instructions and highlights changes against ISO/IEC 14882; it is advisory and documents practices that may or may not become part of a future C++ standard.
Applications and who uses it
- Compiler and toolchain vendors - to prototype and implement TM language extensions and provide transaction-aware optimizations.
- Standard library implementers - to adapt containers, allocators, and exception types for transactional safety.
- Systems and concurrent software developers - to design lock‑free or optimistic concurrency using transactional constructs for performance and scalability.
- Research and performance engineering teams - to evaluate transactional memory semantics, performance trade‑offs, and language interactions.
- Library authors - to create transaction-aware libraries (memory, synchronization, utilities) consistent with proposed C++ TM guidance.
Related standards
- ISO/IEC 14882 (C++) - the International Standard that provides the base language rules and is the reference document against which TS 19841 is written.
Keywords: ISO/IEC TS 19841:2015, C++, Transactional Memory, transaction‑safety, synchronized statement, atomic statement, tx_exception, C++ language extensions, transactional library support.
Технические детали
- Технический комитет
- ISO/IEC JTC 1/SC 22 - Programming languages, their environments and system software interfaces
- SKU
- ISO/IEC TS 19841:2015
Похожие стандарты
Упомянутые в описании и другие стандарты ISO
BS ISO/IEC 14882:2024
ДействующийProgramming languages. C++.
ISO 8212:1986
ОтменёнSoaps and detergents — Techniques of sampling during manufacture
Overview Standard Reference: ISO 8212:1986 Title: Soaps and detergents - Techniques of sampling during manufacture ISO 8212:1986 defines standardized techniques for taking representative samples of s…
ISO 20662:2020
ДействующийShips and marine technology — Hopper dredger supervisory and control systems
Overview ISO 20662:2020 - Ships and marine technology: Hopper dredger supervisory and control systems (HD‑SCS) - specifies the components, structure, general requirements, and functional requirements…
ISO 3021:2023
ДействующийAdventure tourism — Hiking and trekking activities — Requirements and recommendations
Overview ISO 3021:2023 - Adventure tourism: Hiking and trekking activities - Requirements and recommendations defines safety-focused requirements and recommendations for hiking and trekking offered a…
ISO 3826-2:2008
ДействующийPlastics collapsible containers for human blood and blood components — Part 2: Graphical symbols for use on l…
Overview ISO 3826-2:2008 - "Plastics collapsible containers for human blood and blood components - Part 2: Graphical symbols for use on labels and instruction leaflets" defines a system of internatio…
ISO/IEC 24730-1:2014
ДействующийInformation technology — Real-time locating systems (RTLS) — Part 1: Application programming interface (API)
Overview ISO/IEC 24730-1:2014 specifies the Application Programming Interface (API) for Real‑Time Locating Systems (RTLS). The standard defines a minimal, interoperable boundary that lets application…
ISO 8668-5:1992
ДействующийAircraft — Terminal junction systems — Part 5: Detail specification for type 3 system
Overview - ISO 8668-5:1992 (Aircraft terminal junction systems, Type 3) ISO 8668-5:1992 defines the detail specification for Type 3 Terminal Junction Systems (TJS) used in aircraft electrical install…
ISO 7574-3:1985
ДействующийAcoustics — Statistical methods for determining and verifying stated noise emission values of machinery and e…
Overview ISO 7574-3:1985 is part of the ISO 7574 series on acoustics and provides a simple (transition) statistical method for determining and verifying stated noise emission values for batches (lots…