{"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 Catalog<\/h4>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
PDF Pages<\/th>\nPDF Title<\/th>\n<\/tr>\n
5<\/td>\nContents <\/td>\n<\/tr>\n
9<\/td>\nForeword <\/td>\n<\/tr>\n
10<\/td>\nBlank Page <\/td>\n<\/tr>\n
11<\/td>\n1 General
1.1 Scope
1.2 Normative references
1.3 Namespaces, headers, and modifications to standard classes <\/td>\n<\/tr>\n
12<\/td>\n1.4 Terms and definitions
1.5 Future plans (Informative) <\/td>\n<\/tr>\n
13<\/td>\n1.6 Feature-testing recommendations (Informative) <\/td>\n<\/tr>\n
15<\/td>\n2 Modifications to the C++ Standard Library
2.1 Uses-allocator construction <\/td>\n<\/tr>\n
16<\/td>\n3 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>\n3.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>\n3.3.2 Other type transformations <\/td>\n<\/tr>\n
22<\/td>\n3.3.3 Logical operator traits <\/td>\n<\/tr>\n
23<\/td>\n3.3.4 Detection idiom <\/td>\n<\/tr>\n
24<\/td>\n3.4 Compile-time rational arithmetic
3.4.1 Header synopsis <\/td>\n<\/tr>\n
25<\/td>\n3.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>\n3.7.2 Header synopsis <\/td>\n<\/tr>\n
28<\/td>\n3.7.3 propagate_const requirements on T
3.7.3.1 propagate_const requirements on class type T <\/td>\n<\/tr>\n
29<\/td>\n3.7.4 propagate_const constructors
3.7.5 propagate_const assignment <\/td>\n<\/tr>\n
30<\/td>\n3.7.6 propagate_const const observers
3.7.7 propagate_const non-const observers <\/td>\n<\/tr>\n
31<\/td>\n3.7.8 propagate_const modifiers
3.7.9 propagate_const relational operators <\/td>\n<\/tr>\n
33<\/td>\n3.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>\n4 Function objects
4.1 Header synopsis <\/td>\n<\/tr>\n
36<\/td>\n4.2 Class template function <\/td>\n<\/tr>\n
38<\/td>\n4.2.1 function construct\/copy\/destroy <\/td>\n<\/tr>\n
39<\/td>\n4.2.2 function modifiers
4.3 Searchers
4.3.1 Class template default_searcher <\/td>\n<\/tr>\n
40<\/td>\n4.3.1.1 default_searcher creation functions
4.3.2 Class template boyer_moore_searcher <\/td>\n<\/tr>\n
41<\/td>\n4.3.2.1 boyer_moore_searcher creation functions
4.3.3 Class template boyer_moore_horspool_searcher <\/td>\n<\/tr>\n
42<\/td>\n4.3.3.1 boyer_moore_horspool_searcher creation functions <\/td>\n<\/tr>\n
43<\/td>\n4.4 Function template not_fn <\/td>\n<\/tr>\n
44<\/td>\n5 Optional objects
5.1 In general
5.2 Header synopsis <\/td>\n<\/tr>\n
45<\/td>\n5.3 optional for object types <\/td>\n<\/tr>\n
47<\/td>\n5.3.1 Constructors <\/td>\n<\/tr>\n
49<\/td>\n5.3.2 Destructor <\/td>\n<\/tr>\n
50<\/td>\n5.3.3 Assignment <\/td>\n<\/tr>\n
53<\/td>\n5.3.4 Swap
5.3.5 Observers <\/td>\n<\/tr>\n
54<\/td>\n5.4 In-place construction
5.5 No-value state indicator <\/td>\n<\/tr>\n
55<\/td>\n5.6 Class bad_optional_access
5.7 Relational operators
5.8 Comparison with nullopt <\/td>\n<\/tr>\n
56<\/td>\n5.9 Comparison with T <\/td>\n<\/tr>\n
57<\/td>\n5.10 Specialized algorithms
5.11 Hash support <\/td>\n<\/tr>\n
58<\/td>\n6 Class any
6.1 Header synopsis <\/td>\n<\/tr>\n
59<\/td>\n6.2 Class bad_any_cast
6.3 Class any
6.3.1 any construct\/destruct <\/td>\n<\/tr>\n
60<\/td>\n6.3.2 any assignments <\/td>\n<\/tr>\n
61<\/td>\n6.3.3 any modifiers
6.3.4 any observers
6.4 Non-member functions <\/td>\n<\/tr>\n
64<\/td>\n7 string_view
7.1 Header synopsis <\/td>\n<\/tr>\n
65<\/td>\n7.2 Class template basic_string_view <\/td>\n<\/tr>\n
67<\/td>\n7.3 basic_string_view constructors and assignment operators <\/td>\n<\/tr>\n
68<\/td>\n7.4 basic_string_view iterator support <\/td>\n<\/tr>\n
69<\/td>\n7.5 basic_string_view capacity
7.6 basic_string_view element access <\/td>\n<\/tr>\n
70<\/td>\n7.7 basic_string_view modifiers
7.8 basic_string_view string operations <\/td>\n<\/tr>\n
72<\/td>\n7.8.1 Searching basic_string_view <\/td>\n<\/tr>\n
73<\/td>\n7.9 basic_string_view non-member comparison functions <\/td>\n<\/tr>\n
74<\/td>\n7.10 Inserters and extractors <\/td>\n<\/tr>\n
75<\/td>\n7.11 Hash support <\/td>\n<\/tr>\n
76<\/td>\n8 Memory
8.1 Header synopsis <\/td>\n<\/tr>\n
79<\/td>\n8.2 Shared-ownership pointers
8.2.1 Class template shared_ptr <\/td>\n<\/tr>\n
82<\/td>\n8.2.1.1 shared_ptr constructors <\/td>\n<\/tr>\n
84<\/td>\n8.2.1.2 shared_ptr observers <\/td>\n<\/tr>\n
85<\/td>\n8.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>\n8.2.2.1 weak_ptr constructors <\/td>\n<\/tr>\n
87<\/td>\n8.3 Type-erased allocator
8.4 Header synopsis <\/td>\n<\/tr>\n
88<\/td>\n8.5 Class memory_resource
8.5.1 Class memory_resource overview <\/td>\n<\/tr>\n
89<\/td>\n8.5.2 memory_resource public member functions
8.5.3 memory_resource protected virtual member functions <\/td>\n<\/tr>\n
90<\/td>\n8.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>\n8.6.2 polymorphic_allocator constructors
8.6.3 polymorphic_allocator member functions <\/td>\n<\/tr>\n
93<\/td>\n8.6.4 polymorphic_allocator equality
8.7 template alias resource_adaptor
8.7.1 resource_adaptor <\/td>\n<\/tr>\n
94<\/td>\n8.7.2 resource_adaptor_imp constructors
8.7.3 resource_adaptor_imp member functions <\/td>\n<\/tr>\n
95<\/td>\n8.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>\n8.9.2 pool_options data members <\/td>\n<\/tr>\n
98<\/td>\n8.9.3 pool resource constructors and destructors
8.9.4 pool resource members <\/td>\n<\/tr>\n
99<\/td>\n8.10 Class monotonic_buffer_resource
8.10.1 Class monotonic_buffer_resource overview <\/td>\n<\/tr>\n
100<\/td>\n8.10.2 monotonic_buffer_resource constructor and destructor <\/td>\n<\/tr>\n
101<\/td>\n8.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>\n8.11.2 Header synopsis
8.11.3 Header synopsis
8.11.4 Header synopsis <\/td>\n<\/tr>\n
103<\/td>\n8.11.5 Header synopsis
8.11.6 Header synopsis <\/td>\n<\/tr>\n
104<\/td>\n8.11.7 Header synopsis
8.11.8 Header synopsis <\/td>\n<\/tr>\n
105<\/td>\n8.11.9 Header synopsis
8.11.10 Header synopsis <\/td>\n<\/tr>\n
106<\/td>\n8.12 Non-owning pointers
8.12.1 Class template observer_ptr overview <\/td>\n<\/tr>\n
107<\/td>\n8.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>\n8.12.6 observer_ptr specialized algorithms <\/td>\n<\/tr>\n
109<\/td>\n8.12.7 observer_ptr hash support <\/td>\n<\/tr>\n
110<\/td>\n9 Containers
9.1 Uniform container erasure
9.1.1 Header synopsis <\/td>\n<\/tr>\n
111<\/td>\n9.1.2 Function template erase_if <\/td>\n<\/tr>\n
112<\/td>\n9.1.3 Function template erase
9.2 Class template array
9.2.1 Header synopsis <\/td>\n<\/tr>\n
113<\/td>\n9.2.2 Array creation functions <\/td>\n<\/tr>\n
114<\/td>\n10 Iterators library
10.1 Header synopsis
10.2 Class template ostream_joiner <\/td>\n<\/tr>\n
115<\/td>\n10.2.1 ostream_joiner constructor
10.2.2 ostream_joiner operations
10.2.3 ostream_joiner creation function <\/td>\n<\/tr>\n
116<\/td>\n11 Futures
11.1 Header synopsis
11.2 Class template promise <\/td>\n<\/tr>\n
117<\/td>\n11.3 Class template packaged_task <\/td>\n<\/tr>\n
119<\/td>\n12 Algorithms library
12.1 Header synopsis
12.2 Search <\/td>\n<\/tr>\n
120<\/td>\n12.3 Sampling
12.4 Shuffle <\/td>\n<\/tr>\n
121<\/td>\n13 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>\n13.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>\n14 Reflection library
14.1 Class source_location
14.1.1 Header synopsis <\/td>\n<\/tr>\n
124<\/td>\n14.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\n\n\n\n
Published By<\/td>\nPublication Date<\/td>\nNumber of Pages<\/td>\n<\/tr>\n
BSI<\/b><\/a><\/td>\n2017<\/td>\n128<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"featured_media":353088,"template":"","meta":{"rank_math_lock_modified_date":false,"ep_exclude_from_search":false},"product_cat":[2641],"product_tag":[],"class_list":{"0":"post-353085","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-bsi","8":"first","9":"instock","10":"sold-individually","11":"shipping-taxable","12":"purchasable","13":"product-type-simple"},"_links":{"self":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product\/353085","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/media\/353088"}],"wp:attachment":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/media?parent=353085"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product_cat?post=353085"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product_tag?post=353085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}