Subject: Re: [boost] [Filesystem] Hidden overloaded virtual function
From: Ben Pope (benpope81_at_[hidden])
Date: 2013-12-19 21:48:05
On 20/12/13 09:25, Marshall Clow wrote:
> On Dec 18, 2013, at 9:21 PM, Ben Pope <benpope81_at_[hidden]> wrote:
>> On 19/12/13 13:18, Ben Pope wrote:
>>> I suspect that's not intentional.
>> Hmm, already reported. Ping?
> This is more complicated than it looks, because some standard libraries declare do_length as:
> virtual int do_length(mbstate_t&, const char*, const char*, size_t) const
> and others as:
> 'virtual int do_length(const mbstate_t&, const char*, const char*, size_t) const
> This was changed in the C++ standard back about the 2004 (changed TO const mbstate_t)
FROM const&, right?
http://isocpp.org/files/papers/N3797.pdf 220.127.116.11 has it as non-const.
I've checked VC2013, g++4.8.2 and libc++ and they all take it by non const.
> but the Dinkumware library shipped with Visual Studio (for one) was not updated until very recently.
> [ I believe that it is changed for VS 2013 ]
> I tried to fix this once - I broke one of the serialization tests.
> Robert Ramey has been looking into this as well.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk