Init
This commit is contained in:
67
cppdraft/fs/conform/9945.md
Normal file
67
cppdraft/fs/conform/9945.md
Normal file
@@ -0,0 +1,67 @@
|
||||
[fs.conform.9945]
|
||||
|
||||
# 31 Input/output library [[input.output]](./#input.output)
|
||||
|
||||
## 31.12 File systems [[filesystems]](filesystems#fs.conform.9945)
|
||||
|
||||
### 31.12.2 Conformance [[fs.conformance]](fs.conformance#fs.conform.9945)
|
||||
|
||||
#### 31.12.2.2 POSIX conformance [fs.conform.9945]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13173)
|
||||
|
||||
Some behavior is specified by reference to POSIX[.](#1.sentence-1)
|
||||
|
||||
How such behavior is actually implemented is unspecified[.](#1.sentence-2)
|
||||
|
||||
[*Note [1](#note-1)*:
|
||||
|
||||
This constitutes an âas ifâ rule allowing implementations
|
||||
to call native
|
||||
operating system or other APIs[.](#1.sentence-3)
|
||||
|
||||
â *end note*]
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13181)
|
||||
|
||||
Implementations should provide such behavior as it is defined by
|
||||
POSIX[.](#2.sentence-1)
|
||||
|
||||
Implementations shall document any behavior that differs from the
|
||||
behavior defined by POSIX[.](#2.sentence-2)
|
||||
|
||||
Implementations that do not support exact POSIX
|
||||
behavior should provide behavior as close to POSIX behavior as is reasonable given the
|
||||
limitations of actual operating systems and file systems[.](#2.sentence-3)
|
||||
|
||||
If an implementation cannot provide any
|
||||
reasonable behavior, the implementation shall report an error as specified in [[fs.err.report]](fs.err.report "31.12.5 Error reporting")[.](#2.sentence-4)
|
||||
|
||||
[*Note [2](#note-2)*:
|
||||
|
||||
This allows users to rely on an exception being thrown or
|
||||
an error code being set when an implementation cannot provide any reasonable
|
||||
behavior[.](#2.sentence-5)
|
||||
|
||||
â *end note*]
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13194)
|
||||
|
||||
Implementations are not required to provide behavior that is not supported by
|
||||
a particular file system[.](#3.sentence-1)
|
||||
|
||||
[*Example [1](#example-1)*:
|
||||
|
||||
The FAT file system used by some memory cards, camera memory, and
|
||||
floppy disks does not support hard links, symlinks, and many other features of
|
||||
more capable file systems, so implementations are not required to support those
|
||||
features on the FAT file system
|
||||
but instead are required to report an error as described above[.](#3.sentence-2)
|
||||
|
||||
â *end example*]
|
||||
26
cppdraft/fs/conform/os.md
Normal file
26
cppdraft/fs/conform/os.md
Normal file
@@ -0,0 +1,26 @@
|
||||
[fs.conform.os]
|
||||
|
||||
# 31 Input/output library [[input.output]](./#input.output)
|
||||
|
||||
## 31.12 File systems [[filesystems]](filesystems#fs.conform.os)
|
||||
|
||||
### 31.12.2 Conformance [[fs.conformance]](fs.conformance#fs.conform.os)
|
||||
|
||||
#### 31.12.2.3 Operating system dependent behavior conformance [fs.conform.os]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13206)
|
||||
|
||||
Behavior that is specified as being[*operating system dependent*](#def:operating_system_dependent "31.12.2.3 Operating system dependent behavior conformance [fs.conform.os]") is dependent upon the behavior
|
||||
and characteristics of an operating system[.](#1.sentence-1)
|
||||
|
||||
The operating system an
|
||||
implementation is dependent upon isimplementation-defined[.](#1.sentence-2)
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13215)
|
||||
|
||||
It is permissible for an implementation to be dependent upon an operating
|
||||
system emulator rather than the actual underlying operating system[.](#2.sentence-1)
|
||||
Reference in New Issue
Block a user