Init
This commit is contained in:
58
cppdraft/extern/names.md
vendored
Normal file
58
cppdraft/extern/names.md
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
[extern.names]
|
||||
|
||||
# 16 Library introduction [[library]](./#library)
|
||||
|
||||
## 16.4 Library-wide requirements [[requirements]](requirements#extern.names)
|
||||
|
||||
### 16.4.5 Constraints on programs [[constraints]](constraints#extern.names)
|
||||
|
||||
#### 16.4.5.3 Reserved names [[reserved.names]](reserved.names#extern.names)
|
||||
|
||||
#### 16.4.5.3.4 External linkage [extern.names]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3291)
|
||||
|
||||
Each name declared as an object with external linkagein a header is reserved to the implementation to designate that library
|
||||
object with external linkage,[152](#footnote-152 "The list of such reserved names includes errno, declared or defined in <cerrno>.") both in namespace std and in the global namespace[.](#1.sentence-1)
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3303)
|
||||
|
||||
Eachglobal function signature declared withexternal linkage in a header is reserved to the
|
||||
implementation to designate that function signature withexternal linkage[.](#2.sentence-1)[153](#footnote-153 "The list of such reserved function signatures with external linkage includes setjmp(jmp_buf), declared or defined in <csetjmp>, and va_end(va_list), declared or defined in <cstdarg>.")
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3326)
|
||||
|
||||
Each name from the C standard library declared with external linkageis reserved to the implementation for use as a name withextern "C" linkage,
|
||||
both in namespace std and in the global namespace[.](#3.sentence-1)
|
||||
|
||||
[4](#4)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3336)
|
||||
|
||||
Each function signature from the C standard library declared withexternal linkage
|
||||
is reserved to the implementation for use as
|
||||
a function signature with bothextern "C" andextern "C++" linkage,[154](#footnote-154 "The function signatures declared in <cuchar>, <cwchar>, and <cwctype> are always reserved, notwithstanding the restrictions imposed in subclause 4.5.1 of Amendment 1 to the C Standard for these headers.") or as a name of namespace scope in the global namespace[.](#4.sentence-1)
|
||||
|
||||
[152)](#footnote-152)[152)](#footnoteref-152)
|
||||
|
||||
The list of such reserved names includeserrno, declared or defined in [<cerrno>](errno.general#header:%3ccerrno%3e "19.4.1 General [errno.general]")[.](#footnote-152.sentence-1)
|
||||
|
||||
[153)](#footnote-153)[153)](#footnoteref-153)
|
||||
|
||||
The list of such reserved function
|
||||
signatures with external linkage includessetjmp(jmp_buf),
|
||||
declared or defined in [<csetjmp>](csetjmp.syn#header:%3ccsetjmp%3e "17.14.3 Header <csetjmp> synopsis [csetjmp.syn]"),
|
||||
andva_end(va_list),
|
||||
declared or defined in[<cstdarg>](cstdarg.syn#header:%3ccstdarg%3e "17.14.2 Header <cstdarg> synopsis [cstdarg.syn]")[.](#footnote-153.sentence-1)
|
||||
|
||||
[154)](#footnote-154)[154)](#footnoteref-154)
|
||||
|
||||
The function signatures declared in[<cuchar>](cuchar.syn#header:%3ccuchar%3e "28.7.4 Header <cuchar> synopsis [cuchar.syn]"),[<cwchar>](cwchar.syn#header:%3ccwchar%3e "28.7.3 Header <cwchar> synopsis [cwchar.syn]"),
|
||||
and[<cwctype>](cwctype.syn#header:%3ccwctype%3e "28.7.2 Header <cwctype> synopsis [cwctype.syn]") are always reserved, notwithstanding the restrictions imposed in subclause
|
||||
4.5.1 of Amendment 1 to the C Standard for these headers[.](#footnote-154.sentence-1)
|
||||
18
cppdraft/extern/types.md
vendored
Normal file
18
cppdraft/extern/types.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
[extern.types]
|
||||
|
||||
# 16 Library introduction [[library]](./#library)
|
||||
|
||||
## 16.4 Library-wide requirements [[requirements]](requirements#extern.types)
|
||||
|
||||
### 16.4.5 Constraints on programs [[constraints]](constraints#extern.types)
|
||||
|
||||
#### 16.4.5.3 Reserved names [[reserved.names]](reserved.names#extern.types)
|
||||
|
||||
#### 16.4.5.3.5 Types [extern.types]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3362)
|
||||
|
||||
For each type T from the C standard library,
|
||||
the types::T andstd::T are reserved to the implementation and, when defined,::T shall be identical tostd::T[.](#1.sentence-1)
|
||||
Reference in New Issue
Block a user