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
> > [...]
> > 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 (
Version: 6.0.521 / Virus Database: 319 - Release Date: 9/23/2003

Boost list run by bdawes at, gregod at, cpdaniel at, john at