From Jason Turner

[library.general]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp60e80tmx/{from.md → to.md} +27 -22
tmp/tmp60e80tmx/{from.md → to.md} RENAMED
@@ -2,16 +2,16 @@
2
 
3
  This Clause describes the contents of the *C++ standard library*, how a
4
  well-formed C++ program makes use of the library, and how a conforming
5
  implementation may provide the entities in the library.
6
 
7
- The following subclauses describe the definitions [[definitions]],
8
- method of description [[description]], and organization [[organization]]
9
- of the library. [[requirements]], [[support]] through [[thread]], and
10
- [[depr]] specify the contents of the library, as well as library
11
- requirements and constraints on both well-formed C++ programs and
12
- conforming implementations.
13
 
14
  Detailed specifications for each of the components in the library are in
15
  [[support]]– [[thread]], as shown in [[library.categories]].
16
 
17
  **Table: Library categories** <a id="library.categories">[library.categories]</a>
@@ -19,10 +19,12 @@ Detailed specifications for each of the components in the library are in
19
  | Clause | Category |
20
  | ---------------- | --------------------------- |
21
  | [[support]] | Language support library |
22
  | [[concepts]] | Concepts library |
23
  | [[diagnostics]] | Diagnostics library |
 
 
24
  | [[utilities]] | General utilities library |
25
  | [[strings]] | Strings library |
26
  | [[containers]] | Containers library |
27
  | [[iterators]] | Iterators library |
28
  | [[ranges]] | Ranges library |
@@ -30,41 +32,42 @@ Detailed specifications for each of the components in the library are in
30
  | [[numerics]] | Numerics library |
31
  | [[time]] | Time library |
32
  | [[localization]] | Localization library |
33
  | [[input.output]] | Input/output library |
34
  | [[re]] | Regular expressions library |
35
- | [[atomics]] | Atomic operations library |
36
- | [[thread]] | Thread support library |
37
 
38
 
39
  The language support library [[support]] provides components that are
40
- required by certain parts of the C++ language, such as memory
41
- allocation ([[expr.new]], [[expr.delete]]) and exception processing
42
- [[except]].
43
 
44
  The concepts library [[concepts]] describes library components that C++
45
  programs may use to perform compile-time validation of template
46
  arguments and perform function dispatch based on properties of types.
47
 
48
  The diagnostics library [[diagnostics]] provides a consistent framework
49
  for reporting errors in a C++ program, including predefined exception
50
  classes.
51
 
 
 
 
 
 
 
 
52
  The general utilities library [[utilities]] includes components used by
53
  other library elements, such as a predefined storage allocator for
54
  dynamic storage management [[basic.stc.dynamic]], and components used as
55
- infrastructure in C++ programs, such as tuples, function wrappers, and
56
- time facilities.
57
 
58
  The strings library [[strings]] provides support for manipulating text
59
  represented as sequences of type `char`, sequences of type `char8_t`,
60
  sequences of type `char16_t`, sequences of type `char32_t`, sequences of
61
  type `wchar_t`, and sequences of any other character-like type.
62
 
63
- The localization library [[localization]] provides extended
64
- internationalization support for text processing.
65
-
66
  The containers [[containers]], iterators [[iterators]], ranges
67
  [[ranges]], and algorithms [[algorithms]] libraries provide a C++
68
  program with access to a subset of the most widely used algorithms and
69
  data structures.
70
 
@@ -73,20 +76,22 @@ complex number components that extend support for numeric processing.
73
  The `valarray` component provides support for *n*-at-a-time processing,
74
  potentially implemented as parallel operations on platforms that support
75
  such processing. The random number component provides facilities for
76
  generating pseudo-random numbers.
77
 
 
 
 
 
 
78
  The input/output library [[input.output]] provides the `iostream`
79
  components that are the primary mechanism for C++ program input and
80
  output. They can be used with other elements of the library,
81
  particularly strings, locales, and iterators.
82
 
83
  The regular expressions library [[re]] provides regular expression
84
  matching and searching.
85
 
86
- The atomic operations library [[atomics]] allows more fine-grained
87
- concurrent access to shared data than is possible with locks.
88
-
89
- The thread support library [[thread]] provides components to create and
90
- manage threads, including mutual exclusion and interthread
91
- communication.
92
 
 
2
 
3
  This Clause describes the contents of the *C++ standard library*, how a
4
  well-formed C++ program makes use of the library, and how a conforming
5
  implementation may provide the entities in the library.
6
 
7
+ The following subclauses describe the method of description
8
+ [[description]] and organization [[organization]] of the library.
9
+ [[requirements]], [[support]] through [[thread]], and [[depr]] specify
10
+ the contents of the library, as well as library requirements and
11
+ constraints on both well-formed C++ programs and conforming
12
+ implementations.
13
 
14
  Detailed specifications for each of the components in the library are in
15
  [[support]]– [[thread]], as shown in [[library.categories]].
16
 
17
  **Table: Library categories** <a id="library.categories">[library.categories]</a>
 
19
  | Clause | Category |
20
  | ---------------- | --------------------------- |
21
  | [[support]] | Language support library |
22
  | [[concepts]] | Concepts library |
23
  | [[diagnostics]] | Diagnostics library |
24
+ | [[mem]] | Memory management library |
25
+ | [[meta]] | Metaprogramming library |
26
  | [[utilities]] | General utilities library |
27
  | [[strings]] | Strings library |
28
  | [[containers]] | Containers library |
29
  | [[iterators]] | Iterators library |
30
  | [[ranges]] | Ranges library |
 
32
  | [[numerics]] | Numerics library |
33
  | [[time]] | Time library |
34
  | [[localization]] | Localization library |
35
  | [[input.output]] | Input/output library |
36
  | [[re]] | Regular expressions library |
37
+ | [[thread]] | Concurrency support library |
 
38
 
39
 
40
  The language support library [[support]] provides components that are
41
+ required by certain parts of the C++ language, such as memory allocation
42
+ [[expr.new]], [[expr.delete]] and exception processing [[except]].
 
43
 
44
  The concepts library [[concepts]] describes library components that C++
45
  programs may use to perform compile-time validation of template
46
  arguments and perform function dispatch based on properties of types.
47
 
48
  The diagnostics library [[diagnostics]] provides a consistent framework
49
  for reporting errors in a C++ program, including predefined exception
50
  classes.
51
 
52
+ The memory management library [[mem]] provides components for memory
53
+ management, including smart pointers and scoped allocators.
54
+
55
+ The metaprogramming library [[meta]] describes facilities for use in
56
+ templates and during constant evaluation, including type traits, integer
57
+ sequences, and rational arithmetic.
58
+
59
  The general utilities library [[utilities]] includes components used by
60
  other library elements, such as a predefined storage allocator for
61
  dynamic storage management [[basic.stc.dynamic]], and components used as
62
+ infrastructure in C++ programs, such as tuples and function wrappers.
 
63
 
64
  The strings library [[strings]] provides support for manipulating text
65
  represented as sequences of type `char`, sequences of type `char8_t`,
66
  sequences of type `char16_t`, sequences of type `char32_t`, sequences of
67
  type `wchar_t`, and sequences of any other character-like type.
68
 
 
 
 
69
  The containers [[containers]], iterators [[iterators]], ranges
70
  [[ranges]], and algorithms [[algorithms]] libraries provide a C++
71
  program with access to a subset of the most widely used algorithms and
72
  data structures.
73
 
 
76
  The `valarray` component provides support for *n*-at-a-time processing,
77
  potentially implemented as parallel operations on platforms that support
78
  such processing. The random number component provides facilities for
79
  generating pseudo-random numbers.
80
 
81
+ The time library [[time]] provides generally useful time utilities.
82
+
83
+ The localization library [[localization]] provides extended
84
+ internationalization support for text processing.
85
+
86
  The input/output library [[input.output]] provides the `iostream`
87
  components that are the primary mechanism for C++ program input and
88
  output. They can be used with other elements of the library,
89
  particularly strings, locales, and iterators.
90
 
91
  The regular expressions library [[re]] provides regular expression
92
  matching and searching.
93
 
94
+ The concurrency support library [[thread]] provides components to create
95
+ and manage threads, including atomic operations, mutual exclusion, and
96
+ interthread communication.
 
 
 
97