Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-10-03 17:49:09


"David B. Held" <dheld_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:uekxvrc38.fsf_at_boost-consulting.com...
>>
>> Last I'd heard there were still-unsolved exception-safety issues in
>> all versions. Is that fixed now? That would be great.
>
> I guess it depends on what you call "unsolved exception safety
> issues". You can solve any exception safety issue with a suitable
> number of constraints on user code (the extreme case being "user
> code will not throw any exceptions"). ;)

Seriously, constraints on user code *are* an important part of the
picture. I expected those to be part of the solution.

> So part of my "solution" was to re-arrange the way smart_ptr manages
> its resources, and part of it was to write a policy interface
> specification that states exception safety requirements for
> policies.

Fabulous.

> The latest version of the code is available on CUJ at:
>
> http://www.cuj.com/documents/s=8890/cujexp0310alexandr/smart_ptr.zip

Uhm. Is this the same as the sandbox? I'd rather use the sandbox,
especially if I might check in portability fixes.

Or did you mean "the latest version of"... something else?

> The table is not quite ready, but is about 98% done, and might
> appear in a future version of CUJ. I suspect you might be
> dissatisfied with the way I "solved" some of the safety issues
> with user constraints, but I don't think the work required to
> remove those constraints justifies the additional safety.

I'm prepared to believe that, depending on the choices you made.

>> [...]
>> Why don't you make the code and tests available for people to
>> look at? We have a lot of porting expertise here at Boost...
>
> Sure. And it's been sitting in the Boost sandbox under policy_ptr
> for quite a few months. In fact, it was one of maybe the first 6 or
> 7 libraries to get into the sandbox. It just seemed that nobody
> else was interested in wading through the code.

It's a lot easier to wade through and kill off specific
errors... Porting can be tedious, but it tends to be tractable.

> Like I said, the latest version, which includes all the tests, is on
> my own CVS server, but if people are really interested in helping to
> port it to other platforms, I will update the sandbox with the
> latest version.

Please do. I'd like to take a poke at it.

> The tests aren't technically complete, because one issue that has
> remained unresolved for quite a while is how to deal with move
> policies. So there are no tests for the move configuration, and if
> you do an archive search, you can see why in a discussion here on
> Boost.

A clue; a link?

> At the least, though, people can get started with the CUJ files.
> They should contain everything needed to run the tests on gcc 3.3.

OK.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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