30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.34 Filesystem operation functions [fs.op.funcs]

30.10.34.29 Relative [fs.op.relative]

path relative(const path& p, error_code& ec);

Returns: relative(p, current_­path(), ec).

Throws: As specified in [fs.err.report].

path relative(const path& p, const path& base = current_path()); path relative(const path& p, const path& base, error_code& ec);

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.

Throws: As specified in [fs.err.report].