ISO/IEC TS 19568:2017
Programming Languages — C++ Extensions for Library Fundamentals
Programming Languages — C++ Extensions for Library Fundamentals
- Статус документа:
- Отменён
- Формат:
- Электронный (PDF)
- Количество страниц:
- 115
- Дата публикации:
- 30 марта 2017 г.
- Издание:
- ISO/IEC TS 19568 edition 2 version 1
- ICS:
- 35.060
ISO/IEC TS 19568:2017 describes extensions to the C++ Standard Library (1.2). These extensions are classes and functions that are likely to be used widely within a program and/or on the interface boundaries between libraries written by different organizations. ISO/IEC TS 19568:2017 is non-normative. Some of the library components in this technical specification 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 specification may never be standardized, and others may be standardized in a substantially changed form. The goal of this technical specification 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.
Abstract
Overview
ISO/IEC TS 19568:2017 - Programming languages - C++ extensions for library fundamentals is a Technical Specification (second edition, 2017) that documents a set of non‑normative extensions to the C++ Standard Library. Its goal is to describe widely useful classes and functions (many published under headers) that library authors, compiler vendors and application developers commonly use at program and interface boundaries. The TS provides guidance for implementers who want to provide these extensions and builds broader practice for a possible future inclusion in the official C++ standard.
Key Topics
The specification groups extensions across core library areas. Key technical topics and components include:
- Utility and type support
- experimental/utility, erased_type, tuple utilities and calling a function with a tuple of arguments
- metaprogramming and type_traits, detection idiom and logical operator traits
- Function objects and searchers
- experimental/functional, class template function, not_fn
- searchers (default_searcher, boyer_moore_searcher, boyer_moore_horspool_searcher)
- Optional, any, and string views
- experimental/optional (optional, bad_optional_access)
- experimental/any (any, bad_any_cast)
- experimental/string_view (basic_string_view)
- Memory and allocators
- experimental/memory, shared/weak pointers
- memory_resource, polymorphic_allocator, type‑erased allocator and pool resources (synchronized and unsynchronized)
- Utilities for time, ratio, and errors
- experimental/chrono (time utilities), experimental/ratio (compile‑time rational arithmetic)
- experimental/system_error
- Const propagation and safety
- class template propagate_const and related requirements
- Additional topics: feature‑testing recommendations, namespaces, headers and modifications to standard classes
Applications
ISO/IEC TS 19568:2017 is practical for:
- Library implementers and compiler vendors seeking to ship experimental C++ library extensions consistently
- Library authors who design API boundaries requiring type erasure, polymorphic allocators, optional/any semantics, or efficient string views
- Application developers needing guidance on adopting experimental components (optional, any, string_view, memory_resource) for performance and interoperability
- Teams focused on performance, memory management, and cross‑library ABI safety will find the memory_resource and polymorphic_allocator sections particularly relevant
Related standards
- This TS complements the C++ standard family (ISO/IEC JTC1/SC22/WG21 work). It is non‑normative; components may be proposed for future standardization or remain as vendor extensions. For formal normative requirements consult the current ISO C++ standard and subsequent revisions.
Keywords: ISO/IEC TS 19568:2017, C++ standard library extensions, experimental headers, optional, any, string_view, memory_resource, polymorphic_allocator, propagate_const, C++ libraries.
Технические детали
- Технический комитет
- ISO/IEC JTC 1/SC 22 - Programming languages, their environments and system software interfaces
- SKU
- ISO/IEC TS 19568:2017
Похожие стандарты
Другие стандарты ISO
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…
ISO 15638-15:2014
ДействующийIntelligent transport systems — Framework for cooperative telematics applications for regulated vehicles (TAR…
Overview - ISO 15638-15:2014 (Vehicle location monitoring, TARV) ISO 15638-15:2014 is part of the ISO 15638 suite for Intelligent Transport Systems (ITS) and defines the framework and data specificat…