
on Sun Jul 15 2007, "Matt Calabrese" <rivorus-AT-gmail.com> wrote:
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).
Yeah, I probably should have mentioned this earlier: Matt is really good ;-) -- Dave Abrahams Boost Consulting http://www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com