{"id":353085,"date":"2024-10-20T00:56:04","date_gmt":"2024-10-20T00:56:04","guid":{"rendered":"https:\/\/pdfstandards.shop\/product\/uncategorized\/bsi-pd-iso-iec-ts-195682017\/"},"modified":"2024-10-26T01:00:53","modified_gmt":"2024-10-26T01:00:53","slug":"bsi-pd-iso-iec-ts-195682017","status":"publish","type":"product","link":"https:\/\/pdfstandards.shop\/product\/publishers\/bsi\/bsi-pd-iso-iec-ts-195682017\/","title":{"rendered":"BSI PD ISO\/IEC TS 19568:2017"},"content":{"rendered":"
[general.scope]<\/b><\/p>\n
This technical specification 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.<\/p>\n
This technical specification 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.<\/p>\n
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.<\/p>\n
PDF Pages<\/th>\n | PDF Title<\/th>\n<\/tr>\n | ||||||
---|---|---|---|---|---|---|---|
5<\/td>\n | Contents <\/td>\n<\/tr>\n | ||||||
9<\/td>\n | Foreword <\/td>\n<\/tr>\n | ||||||
10<\/td>\n | Blank Page <\/td>\n<\/tr>\n | ||||||
11<\/td>\n | 1 General 1.1 Scope 1.2 Normative references 1.3 Namespaces, headers, and modifications to standard classes <\/td>\n<\/tr>\n | ||||||
12<\/td>\n | 1.4 Terms and definitions 1.5 Future plans (Informative) <\/td>\n<\/tr>\n | ||||||
13<\/td>\n | 1.6 Feature-testing recommendations (Informative) <\/td>\n<\/tr>\n | ||||||
15<\/td>\n | 2 Modifications to the C++ Standard Library 2.1 Uses-allocator construction <\/td>\n<\/tr>\n | ||||||
16<\/td>\n | 3 General utilities library 3.1 Utility components 3.1.1 Header synopsis 3.1.2 Class erased_type 3.2 Tuples 3.2.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
17<\/td>\n | 3.2.2 Calling a function with a tuple of arguments 3.3 Metaprogramming and type traits 3.3.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
21<\/td>\n | 3.3.2 Other type transformations <\/td>\n<\/tr>\n | ||||||
22<\/td>\n | 3.3.3 Logical operator traits <\/td>\n<\/tr>\n | ||||||
23<\/td>\n | 3.3.4 Detection idiom <\/td>\n<\/tr>\n | ||||||
24<\/td>\n | 3.4 Compile-time rational arithmetic 3.4.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
25<\/td>\n | 3.5 Time utilities 3.5.1 Header synopsis 3.6 System error support 3.6.1 Header synopsis 3.7 Class template propagate_const 3.7.1 Class template propagate_const general <\/td>\n<\/tr>\n | ||||||
26<\/td>\n | 3.7.2 Header synopsis <\/td>\n<\/tr>\n | ||||||
28<\/td>\n | 3.7.3 propagate_const requirements on T 3.7.3.1 propagate_const requirements on class type T <\/td>\n<\/tr>\n | ||||||
29<\/td>\n | 3.7.4 propagate_const constructors 3.7.5 propagate_const assignment <\/td>\n<\/tr>\n | ||||||
30<\/td>\n | 3.7.6 propagate_const const observers 3.7.7 propagate_const non-const observers <\/td>\n<\/tr>\n | ||||||
31<\/td>\n | 3.7.8 propagate_const modifiers 3.7.9 propagate_const relational operators <\/td>\n<\/tr>\n | ||||||
33<\/td>\n | 3.7.10 propagate_const specialized algorithms 3.7.11 propagate_const underlying pointer access 3.7.12 propagate_const hash support 3.7.13 propagate_const comparison function objects <\/td>\n<\/tr>\n | ||||||
35<\/td>\n | 4 Function objects 4.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
36<\/td>\n | 4.2 Class template function <\/td>\n<\/tr>\n | ||||||
38<\/td>\n | 4.2.1 function construct\/copy\/destroy <\/td>\n<\/tr>\n | ||||||
39<\/td>\n | 4.2.2 function modifiers 4.3 Searchers 4.3.1 Class template default_searcher <\/td>\n<\/tr>\n | ||||||
40<\/td>\n | 4.3.1.1 default_searcher creation functions 4.3.2 Class template boyer_moore_searcher <\/td>\n<\/tr>\n | ||||||
41<\/td>\n | 4.3.2.1 boyer_moore_searcher creation functions 4.3.3 Class template boyer_moore_horspool_searcher <\/td>\n<\/tr>\n | ||||||
42<\/td>\n | 4.3.3.1 boyer_moore_horspool_searcher creation functions <\/td>\n<\/tr>\n | ||||||
43<\/td>\n | 4.4 Function template not_fn <\/td>\n<\/tr>\n | ||||||
44<\/td>\n | 5 Optional objects 5.1 In general 5.2 Header synopsis <\/td>\n<\/tr>\n | ||||||
45<\/td>\n | 5.3 optional for object types <\/td>\n<\/tr>\n | ||||||
47<\/td>\n | 5.3.1 Constructors <\/td>\n<\/tr>\n | ||||||
49<\/td>\n | 5.3.2 Destructor <\/td>\n<\/tr>\n | ||||||
50<\/td>\n | 5.3.3 Assignment <\/td>\n<\/tr>\n | ||||||
53<\/td>\n | 5.3.4 Swap 5.3.5 Observers <\/td>\n<\/tr>\n | ||||||
54<\/td>\n | 5.4 In-place construction 5.5 No-value state indicator <\/td>\n<\/tr>\n | ||||||
55<\/td>\n | 5.6 Class bad_optional_access 5.7 Relational operators 5.8 Comparison with nullopt <\/td>\n<\/tr>\n | ||||||
56<\/td>\n | 5.9 Comparison with T <\/td>\n<\/tr>\n | ||||||
57<\/td>\n | 5.10 Specialized algorithms 5.11 Hash support <\/td>\n<\/tr>\n | ||||||
58<\/td>\n | 6 Class any 6.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
59<\/td>\n | 6.2 Class bad_any_cast 6.3 Class any 6.3.1 any construct\/destruct <\/td>\n<\/tr>\n | ||||||
60<\/td>\n | 6.3.2 any assignments <\/td>\n<\/tr>\n | ||||||
61<\/td>\n | 6.3.3 any modifiers 6.3.4 any observers 6.4 Non-member functions <\/td>\n<\/tr>\n | ||||||
64<\/td>\n | 7 string_view 7.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
65<\/td>\n | 7.2 Class template basic_string_view <\/td>\n<\/tr>\n | ||||||
67<\/td>\n | 7.3 basic_string_view constructors and assignment operators <\/td>\n<\/tr>\n | ||||||
68<\/td>\n | 7.4 basic_string_view iterator support <\/td>\n<\/tr>\n | ||||||
69<\/td>\n | 7.5 basic_string_view capacity 7.6 basic_string_view element access <\/td>\n<\/tr>\n | ||||||
70<\/td>\n | 7.7 basic_string_view modifiers 7.8 basic_string_view string operations <\/td>\n<\/tr>\n | ||||||
72<\/td>\n | 7.8.1 Searching basic_string_view <\/td>\n<\/tr>\n | ||||||
73<\/td>\n | 7.9 basic_string_view non-member comparison functions <\/td>\n<\/tr>\n | ||||||
74<\/td>\n | 7.10 Inserters and extractors <\/td>\n<\/tr>\n | ||||||
75<\/td>\n | 7.11 Hash support <\/td>\n<\/tr>\n | ||||||
76<\/td>\n | 8 Memory 8.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
79<\/td>\n | 8.2 Shared-ownership pointers 8.2.1 Class template shared_ptr <\/td>\n<\/tr>\n | ||||||
82<\/td>\n | 8.2.1.1 shared_ptr constructors <\/td>\n<\/tr>\n | ||||||
84<\/td>\n | 8.2.1.2 shared_ptr observers <\/td>\n<\/tr>\n | ||||||
85<\/td>\n | 8.2.1.3 shared_ptr casts 8.2.1.4 shared_ptr hash support 8.2.2 Class template weak_ptr <\/td>\n<\/tr>\n | ||||||
86<\/td>\n | 8.2.2.1 weak_ptr constructors <\/td>\n<\/tr>\n | ||||||
87<\/td>\n | 8.3 Type-erased allocator 8.4 Header synopsis <\/td>\n<\/tr>\n | ||||||
88<\/td>\n | 8.5 Class memory_resource 8.5.1 Class memory_resource overview <\/td>\n<\/tr>\n | ||||||
89<\/td>\n | 8.5.2 memory_resource public member functions 8.5.3 memory_resource protected virtual member functions <\/td>\n<\/tr>\n | ||||||
90<\/td>\n | 8.5.4 memory_resource equality 8.6 Class template polymorphic_allocator 8.6.1 Class template polymorphic_allocator overview <\/td>\n<\/tr>\n | ||||||
91<\/td>\n | 8.6.2 polymorphic_allocator constructors 8.6.3 polymorphic_allocator member functions <\/td>\n<\/tr>\n | ||||||
93<\/td>\n | 8.6.4 polymorphic_allocator equality 8.7 template alias resource_adaptor 8.7.1 resource_adaptor <\/td>\n<\/tr>\n | ||||||
94<\/td>\n | 8.7.2 resource_adaptor_imp constructors 8.7.3 resource_adaptor_imp member functions <\/td>\n<\/tr>\n | ||||||
95<\/td>\n | 8.8 Access to program-wide memory_resource objects 8.9 Pool resource classes 8.9.1 Classes synchronized_pool_resource and unsynchronized_pool_resource <\/td>\n<\/tr>\n | ||||||
97<\/td>\n | 8.9.2 pool_options data members <\/td>\n<\/tr>\n | ||||||
98<\/td>\n | 8.9.3 pool resource constructors and destructors 8.9.4 pool resource members <\/td>\n<\/tr>\n | ||||||
99<\/td>\n | 8.10 Class monotonic_buffer_resource 8.10.1 Class monotonic_buffer_resource overview <\/td>\n<\/tr>\n | ||||||
100<\/td>\n | 8.10.2 monotonic_buffer_resource constructor and destructor <\/td>\n<\/tr>\n | ||||||
101<\/td>\n | 8.10.3 monotonic_buffer_resource members 8.11 Alias templates using polymorphic memory resources 8.11.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
102<\/td>\n | 8.11.2 Header synopsis 8.11.3 Header synopsis 8.11.4 Header synopsis <\/td>\n<\/tr>\n | ||||||
103<\/td>\n | 8.11.5 Header synopsis 8.11.6 Header synopsis <\/td>\n<\/tr>\n | ||||||
104<\/td>\n | 8.11.7 Header synopsis 8.11.8 Header synopsis <\/td>\n<\/tr>\n | ||||||
105<\/td>\n | 8.11.9 Header synopsis 8.11.10 Header synopsis <\/td>\n<\/tr>\n | ||||||
106<\/td>\n | 8.12 Non-owning pointers 8.12.1 Class template observer_ptr overview <\/td>\n<\/tr>\n | ||||||
107<\/td>\n | 8.12.2 observer_ptr constructors 8.12.3 observer_ptr observers 8.12.4 observer_ptr conversions 8.12.5 observer_ptr modifiers <\/td>\n<\/tr>\n | ||||||
108<\/td>\n | 8.12.6 observer_ptr specialized algorithms <\/td>\n<\/tr>\n | ||||||
109<\/td>\n | 8.12.7 observer_ptr hash support <\/td>\n<\/tr>\n | ||||||
110<\/td>\n | 9 Containers 9.1 Uniform container erasure 9.1.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
111<\/td>\n | 9.1.2 Function template erase_if <\/td>\n<\/tr>\n | ||||||
112<\/td>\n | 9.1.3 Function template erase 9.2 Class template array 9.2.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
113<\/td>\n | 9.2.2 Array creation functions <\/td>\n<\/tr>\n | ||||||
114<\/td>\n | 10 Iterators library 10.1 Header synopsis 10.2 Class template ostream_joiner <\/td>\n<\/tr>\n | ||||||
115<\/td>\n | 10.2.1 ostream_joiner constructor 10.2.2 ostream_joiner operations 10.2.3 ostream_joiner creation function <\/td>\n<\/tr>\n | ||||||
116<\/td>\n | 11 Futures 11.1 Header synopsis 11.2 Class template promise <\/td>\n<\/tr>\n | ||||||
117<\/td>\n | 11.3 Class template packaged_task <\/td>\n<\/tr>\n | ||||||
119<\/td>\n | 12 Algorithms library 12.1 Header synopsis 12.2 Search <\/td>\n<\/tr>\n | ||||||
120<\/td>\n | 12.3 Sampling 12.4 Shuffle <\/td>\n<\/tr>\n | ||||||
121<\/td>\n | 13 Numerics library 13.1 Generalized numeric operations 13.1.1 Header synopsis 13.1.2 Greatest common divisor 13.1.3 Least common multiple <\/td>\n<\/tr>\n | ||||||
122<\/td>\n | 13.2 Random number generation 13.2.1 Header synopsis 13.2.2 Utilities 13.2.2.1 Function template randint <\/td>\n<\/tr>\n | ||||||
123<\/td>\n | 14 Reflection library 14.1 Class source_location 14.1.1 Header synopsis <\/td>\n<\/tr>\n | ||||||
124<\/td>\n | 14.1.2 source_location creation 14.1.3 source_location field access <\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":" Programming languages. C++ extensions for library fundamentals<\/b><\/p>\n |