47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
[fs.op.relative]
|
||
|
||
# 31 Input/output library [[input.output]](./#input.output)
|
||
|
||
## 31.12 File systems [[filesystems]](filesystems#fs.op.relative)
|
||
|
||
### 31.12.13 Filesystem operation functions [[fs.op.funcs]](fs.op.funcs#fs.op.relative)
|
||
|
||
#### 31.12.13.30 Relative [fs.op.relative]
|
||
|
||
[ð](#lib:relative)
|
||
|
||
`path filesystem::relative(const path& p, error_code& ec);
|
||
`
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L18397)
|
||
|
||
*Returns*: relative(p, current_path(), ec)[.](#1.sentence-1)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L18401)
|
||
|
||
*Throws*: As specified in [[fs.err.report]](fs.err.report "31.12.5 Error reporting")[.](#2.sentence-1)
|
||
|
||
[ð](#lib:relative_)
|
||
|
||
`path filesystem::relative(const path& p, const path& base = current_path());
|
||
path filesystem::relative(const path& p, const path& base, error_code& ec);
|
||
`
|
||
|
||
[3](#3)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L18413)
|
||
|
||
*Returns*: For the first form:weakly_canonical(p).lexically_relative(weakly_canonical(base));
|
||
|
||
For the second form:weakly_canonical(p, ec).lexically_relative(weakly_canonical(base, ec)); or path() at the first error occurrence, if any[.](#3.sentence-2)
|
||
|
||
[4](#4)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L18425)
|
||
|
||
*Throws*: As specified in [[fs.err.report]](fs.err.report "31.12.5 Error reporting")[.](#4.sentence-1)
|