Boost logo

Boost :

Subject: Re: [boost] [filesystem] Heads up; filesystem in trunk unstable while V2 removed
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2012-03-26 16:51:49


On 26.03.2012, at 22:18, Beman Dawes wrote:

> On Mon, Mar 26, 2012 at 10:16 AM, Sebastian Redl
> <sebastian.redl_at_[hidden]> wrote:
>> On 26.03.2012 15:18, Beman Dawes wrote:
>>>
>>> On Mon, Mar 26, 2012 at 8:25 AM, Beman Dawes<bdawes_at_[hidden]> wrote:
>>>>
>>>> To ensure that history is preserved, the removal of version 2 will be
>>>> done as three commits. Filesystem in trunk will be unstable during
>>>> until all three commits are completed. Hopefully this will take less
>>>> than an hour.
>>>>
>>>> I'll post a notice when complete.
>>>
>>> Completed. Tests passing on Windows. Linux being checked now.
>>>
>> This prompted me to port my project to v3, and I promptly ran into this bug:
>> https://svn.boost.org/trac/boost/ticket/5118
>
> Grrr... I should have fixed that a long time ago...
>
> I kept trying to specify the function in terms of Postcondition, and
> kept getting myself tied up in knots.
>
> Here is a new spec rewritten as an Effects clause:
>
> Effects:
> * Any existing extension() is removed from the stored path, then
> * iff new_extension is not empty and does not begin with a dot
> character, a dot character is appended to the stored path, then
> * new_extension is appended to the stored path.
>
> That seem clearer to me than the previous wording, and corrects the
> missing removal of any existing extension(). Does it look OK to you?
>
> I'm working on test cases now, and will commit as soon as they are
> done and passing.

Sounds ok. Does this mean that if I do path("a/b.c").replace_extension("d/e"), the result will be "a/b.d/e"?

Sebastian


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