
At 09:16 PM 11/12/2004, Peter Dimov wrote:
Beman Dawes wrote:
It might be messy to make the single path class approach work if Windows is viewed as a dual rather than wide O/S.
path p; p /= "foo"; if ( some_bool ) p /= L"kühl";
if ( exists( p ) ) ... // use wide or narrow API depending on some_bool I guess path objects could keep track of whether or not they had ever been modified by an argument other than a char string, and use the Windows wide API. Seems messy...
It's worse. Some versions of Windows (9x) are narrow-minded, but you don't know that at compile time. ;-)
Damn! I always forget about Win 9x; I moved the NT at the first beta and never looked back. So what happens in Win 9x when you use the wide API?
You pretty much have to treat Windows as a dual OS; it's impossible to choose a native character type until the program is run.
That's a concern. The codepage issue you brought up is also a concern. I need to do some more research, clearly. In thinking more about a single path class versus a class path template, the single path class approach looks really tough is you can't identify a single native character type. Yet the single path class approach is really appealing in many ways. --Beman