Boost logo

Boost :

From: Borgerding, Mark A. (MarkAB_at_[hidden])
Date: 2000-01-28 14:50:26


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> -----Original Message-----
> From: Borgerding, Mark A. [mailto:MarkAB_at_[hidden]]
> Sent: Friday, January 28, 2000 1:45 PM
> > -----Original Message-----
> > From: Gavin Collings [mailto:gcollings_at_[hidden]]
> > Sent: Friday, January 28, 2000 12:17 PM
> > To: boost_at_[hidden]
> >
> > - I have the list pointers as mutable to reflect the fact
> > that they may
> > be changed by other objects.
>
> I have waffled back and forth whether I want copies/assignments to
> take const or non-const references.
> My current feeling is to use non-const, since there could be
> synchronization repurcussions long after the operation completes.
> But I have barely won this argument with myself, so I don't expect
> anyone else to be terribly swayed.
>
I just waffled again. I now like the idea having the left and right
pointers const as well as mutable.
So the compiler will allow neighboring nodes to change left and
right, but never ptr (at least not without a deliberate const_cast).
This makes synchronization tasks much more clear-cut.

I have attached my latest version.
Changes:
1) the "mutable const" stuff above
2) changed assignment/copies to take a const&
3) added synchronization stub class (TBD for specific platforms)
4) added exception specs, throw() where applicable
5) made destructor exception safe (BTW, shared_ptr, shared_array need
this too! )
6) I added a linked_array class, analogous to shared_array, but using
the link reference counting

Mark Borgerding
markab (at) xetron . com
Software Engineer
Xetron Corporation

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.2 for non-commercial use <http://www.pgp.com>

iQA/AwUBOJHzAP9Ej8AEXMygEQJsKwCg03VYqqimjMcQkR6ykD1BrsAb+toAoNlL
GF19K9ygaf/DvEyZ26XpE0A+
=+177
-----END PGP SIGNATURE-----





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