From: David B. Held (dheld_at_[hidden])
Date: 2003-10-02 11:32:03
"David Abrahams" <dave_at_[hidden]> wrote in message
> > [...]
> > 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:
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.
--- 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