Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2003-10-02 11:32:03


"David Abrahams" <dave_at_[hidden]> wrote in message
news:uekxvrc38.fsf_at_boost-consulting.com...
> > [...]
> > I wouldn't call it "mere vapor".
>
> Well, it's easy for you to say; you're working on it! Is the code
> available publically somewhere?

It's been in the sandbox for ages, at least until I created an intentionally
"non-portable" copy on my own CVS server.

> > [...]
> > Rather, I'd call it "a challenge to port". So far, gcc 3.3 is the
> > only compiler that passes all the tests.
>
> 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"). ;) 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. The latest version of
the code is available on CUJ at:

http://www.cuj.com/documents/s=8890/cujexp0310alexandr/smart_ptr.zip

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.

> [...]
> 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.

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. 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. 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.

Dave

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.521 / Virus Database: 319 - Release Date: 9/23/2003

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