|
Boost : |
From: Matt Calabrese (rivorus_at_[hidden])
Date: 2007-07-15 09:27:12
On 7/14/07, John Maddock <john_at_[hidden]> wrote:
>
> Definite interest I'm sure, my only slight concern is that even your
> interlocked framework alone looks to be quite ambitious, with a lot of
> primitives. I guess the crunch will come when you try and port to
> multiple
> platforms. Looks to be headed in the right direction, based on a very
> quick
> look though.
It shouldn't be much more difficult to port than the proposals. A lot of
stuff is automatically generated based off of a single macro definition.
Specifying a CAS definition and what size/alignment of types that are
useable with CAS on your system automatically generates the entire rest of
the library including the integer headers and lock-free ops on types smaller
and of a different alignment as well (by taking the encapsulating word and
doing CAS on that, as specified in a couple of the proposals). You can go
further and provide more direct support for any other operations to override
defaults, and you can even take short-cuts such as just specifying the
behavior of volatile on your compiler (i.e. if volatile implies
acquire loads and release stores, you just specify as such and it will
generate the corresponding functions automatically based off of that). I do
not yet have support for a lock-based emulated implementation.
On 7/14/07, Mathias Gaunard <mathias.gaunard_at_[hidden]> wrote:
> From reading the documentation for a few minutes, I already find it
> quite better than N2324, personally.
Thanks. I've been putting a lot of time into it.
On 7/14/07, Matias Capeletto <matias.capeletto_at_[hidden]> wrote:
>
> Welcome back :)
> I was missing you guys!
Ha, thanks. The docs are looking great btw.
-- -Matt Calabrese
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk