cpp/filesystem/path/lexically normal

@1@ Returns converted to normal form in its generic format @2@ Returns made relative to.
 * First, if is  or  is  or  is  or any filename in  or  can be interpreted as a, returns a default-constructed path.
 * Otherwise, first determines the first mismatched element of and  as if by , then
 * if and, returns ;
 * otherwise, define $N$ as the number of nonempty filename elements that are neither nor  in, minus the number of  filename elements, If $N < 0$, returns a default-constructed path.
 * otherwise, if $N = 0$ and, returns.
 * otherwise returns an object composed from
 * a default-constructed followed by
 * $N$ applications of, followed by
 * one application of for each element in the half-open range

@3@ If the value of is not an empty path, return it. Otherwise return.

Parameters
(none)

Return value
@1@ The normal form of the path @2@ The relative form of the path @3@ The proximate form of the path