From: "Martin Schuerch" <[EMAIL PROTECTED]> > > "Peter Dimov" <[EMAIL PROTECTED]> wrote in message > 002901c2a789$02a54960$1d00a8c0@pdimov2">news:002901c2a789$02a54960$1d00a8c0@pdimov2... > > > extern "C" __declspec(dllimport) boost::detail::winapi::long_type > > __stdcall > > > InterlockedIncrement(boost::detail::winapi::long_type volatile *); > > > extern "C" __declspec(dllimport) boost::detail::winapi::long_type > > __stdcall > > > InterlockedDecrement(boost::detail::winapi::long_type volatile *); > > > extern "C" __declspec(dllimport) boost::detail::winapi::long_type > > __stdcall > > > InterlockedExchange(boost::detail::winapi::long_type volatile *, > > > boost::detail::winapi::long_type); > > > > But won't these collide with the declarations in <windows.h>? > > No. I tried by including the widely used shared_ptr.hpp and windows.h (non > 64 bit branch). > > Why should it, as long as the types exactly match the once in windows.h?
The problem is that only the more recent versions of <windows.h> have the volatile qualifier in the declarations, and there seems to be no reliable way to detect which <windows.h> is in use. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost