tmp/tmp6czz7myb/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### Weakly canonical <a id="fs.op.weakly_canonical">[[fs.op.weakly_canonical]]</a>
|
| 2 |
+
|
| 3 |
+
``` cpp
|
| 4 |
+
path weakly_canonical(const path& p);
|
| 5 |
+
path weakly_canonical(const path& p, error_code& ec);
|
| 6 |
+
```
|
| 7 |
+
|
| 8 |
+
*Returns:* `p` with symlinks resolved and the result
|
| 9 |
+
normalized ([[fs.def.normal.form]]).
|
| 10 |
+
|
| 11 |
+
*Effects:* Using `status(p)` or `status(p, ec)`, respectively, to
|
| 12 |
+
determine existence, return a path composed by `operator/=` from the
|
| 13 |
+
result of calling `canonical()` without a `base` argument and with a
|
| 14 |
+
path argument composed of the leading elements of `p` that exist, if
|
| 15 |
+
any, followed by the elements of `p` that do not exist, if any. For the
|
| 16 |
+
first form, `canonical()` is called without an `error_code` argument.
|
| 17 |
+
For the second form, `canonical()` is called with `ec` as an
|
| 18 |
+
`error_code` argument, and `path()` is returned at the first error
|
| 19 |
+
occurrence, if any.
|
| 20 |
+
|
| 21 |
+
*Postconditions:* The returned path is in normal
|
| 22 |
+
form ([[fs.def.normal.form]]).
|
| 23 |
+
|
| 24 |
+
*Remarks:* Implementations are encouraged to avoid unnecessary
|
| 25 |
+
normalization such as when `canonical` has already been called on the
|
| 26 |
+
entirety of `p`.
|
| 27 |
+
|
| 28 |
+
*Throws:* As specified in [[fs.err.report]].
|
| 29 |
+
|