On Mon, Mar 25, 2013 at 2:46 PM, Alexander Lamaison
The current design permits assembling pieces in different ways and then, when a final result is needed, in a particular form, it offers three ways of getting the path: as assembled (string), generic, and native.
Actually the truth is worse than that: native() doesn't convert the slashes to native format. It just allows a string to contain both generic and native separators, so now I don't understand the difference between string() and native() at all.
A nice feature that could be supported if only people wanted path to represent the abstraction rather than the string representation, is that native() could return \\?\ long path syntax for long paths... This would improve much software too. -- Yakov