Boost logo

Boost :

Subject: Re: [boost] [nowide] Request for interest (nowide unicode support for windows)
From: Alexander Lamaison (awl03_at_[hidden])
Date: 2010-06-17 06:52:59


On Wed, 16 Jun 2010 23:50:39 -0700 (PDT), Artyom wrote:

>>> There are more. What about filesystem::remove and others?
>>> From what I see in the code, it supports only path and not wpath
>>
>> Really? I doubt that. In FSv2 it takes a template path:
>
> I was talking about v3

v3 makes it even easier. Internally it always calls RemoveFileW on Windows
regardless is whether the path was created from a narrow or wide string.

>> Why? Boost.Filesystem v3 almost does all of this already. It would need
>> two changes to make it work exactly as you want:
>>
>> - Interpret narrow strings as UTF-8 by default on Windows (the user
>> could always imbue it with the local code page facet if the really
>> wanted to interact with the 'A' versions of Windows APIs).
>
> This is not solution:
>
> Windows had never supported, does not support according to Lars Viklund
> links it seems like it will never be supported.

I think you misunderstood me. I meant Boost.Filesystem could interpret
narrow strings as UTF-8 by default on Windows. Then it can convert it and
store it internally as a wide string (it already does this) then its
operations, remove, fstream etc., can call the W versions of Windows API
function (which, again, it already does)

> So the only way to do the thing right is **always** use
> Wide API on windows and convert normal strings to wide one just before
> calling apropriate API functions.

Yes. Except that Filesystem handles this by converting immediately. It
makes little difference.

Alex

-- 
Easy SFTP for Windows Explorer (http://www.swish-sftp.org)

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk