Boost logo

Boost-Commit :

From: matt_calabrese_at_[hidden]
Date: 2007-06-21 01:41:38


Author: matt_calabrese
Date: 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
New Revision: 7120
URL: http://svn.boost.org/trac/boost/changeset/7120

Log:
Started the grueling switch-over of method of handling automatic, macro-based file inclusion (away from relying on preprocessor concatenation which results in more than 1 token).

Added:
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_acquire_default
      - copied unchanged from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_default
      - copied unchanged from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_release_default
      - copied unchanged from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/acquire
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/acquire_fwd
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/full_barrier
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/full_barrier_fwd
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/raw
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/raw_fwd
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/release
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/release_fwd
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/result_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_default
      - copied unchanged from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_read.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_write.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/add_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/assign_if_was
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/bitand_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/bitor_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/compl_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/decrement
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/divide_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/increment
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/lshift_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/mod_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/multiply_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/negate_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/rshift_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/subtract_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/xor_assign
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default
      - copied, changed from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/impl_includer.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_acquire_default
      - copied unchanged from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_default
      - copied unchanged from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_release_default
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/detail/impl_includer.hpp
Removed:
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/detail/bitand_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/detail/bitor_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/compl_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/detail/compl_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/decrement_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/decrement_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/custom_impl.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unsupported_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/detail/divide_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/divide_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/increment_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/increment_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/detail/mod_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/mod_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/detail/multiply_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/multiply_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/detail/negate_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/negate_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/detail/rshift_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_acquire_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_release_default.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/detail/xor_assign_operation.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result_fwd.hpp
Properties modified:
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/ (props changed)
Text files modified:
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign.hpp | 20 ++++-----
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp | 21 ++++------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp | 6 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default | 6 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows | 62 ++++++++++---------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default | 2
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows | 65 ++++++++++-----------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was.hpp | 25 ++++--------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp | 27 ++++---------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire_fwd.hpp | 6 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp | 6 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release.hpp | 27 ++++---------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release_fwd.hpp | 6 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default | 8 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows | 73 +++++++++++--------------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default | 8 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows | 73 +++++++++++--------------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows | 76 +++++++++++---------------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp | 78 +++------------------------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_dont_include.hpp | 16 +-------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_fwd_dont_include.hpp | 6 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_result_dont_include.hpp | 22 ----------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp | 12 ------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support_data.hpp | 17 ++++++++
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_begin_dont_include.hpp | 23 -----------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_fwd_begin_dont_include.hpp | 22 ----------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl.hpp | 2
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_end_dont_include.hpp | 47 ++++++-----------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_dont_include.hpp | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_fwd_dont_include.hpp | 6 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_result_impl.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default | 14 +------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/has_interlocked_operations.hpp | 9 +++-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp | 7 ++-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign.hpp | 2 -
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/add_assign/add_assign_helper.hpp | 4 +-
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp | 4 +-
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_helper.hpp | 9 +---
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp | 3 -
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/bitand_assign/bitand_assign.cpp | 1
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp | 17 --------
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/subtract_assign/subtract_assign_helper.hpp | 4 +-
   53 files changed, 253 insertions(+), 680 deletions(-)

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,5 @@
 #include <boost/act/interlocked/add_assign/add_assign.hpp>
 #include <boost/act/interlocked/add_assign/add_assign_acquire.hpp>
 #include <boost/act/interlocked/add_assign/add_assign_release.hpp>
-#include <boost/act/interlocked/add_assign/add_assign_result.hpp>
 
 #endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ADD_ASSIGN_ADD_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_ADD_ASSIGN_ADD_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/add_assign/add_assign_result/add_assign_result.hpp>
-#include <boost/act/interlocked/add_assign/add_assign_result/add_assign_acquire_result.hpp>
-#include <boost/act/interlocked/add_assign/add_assign_result/add_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/add_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ADD_ASSIGN_ADD_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ADD_ASSIGN_ADD_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/add_assign/add_assign_result/add_assign_result_fwd.hpp>
-#include <boost/act/interlocked/add_assign/add_assign_result/add_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/add_assign/add_assign_result/add_assign_release_result_fwd.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_acquire_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_acquire_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_ACQUIRE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_ACQUIRE_DEFAULT_HPP
-
-#include <boost/act/interlocked/detail/binary_default.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
-( add_assign, acquire, + )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_DEFAULT_HPP
-
-#include <boost/act/interlocked/detail/binary_default.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
-( add_assign, full_barrier, + )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_OPERATION_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_OPERATION_INFO \
-( add_assign, +, inverse(-) )
-
-#include <boost/act/interlocked/detail/binary_operation.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_release_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/add_assign_release_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_RELEASE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_ADD_ASSIGN_DETAIL_ADD_ASSIGN_RELEASE_DEFAULT_HPP
-
-#include <boost/act/interlocked/detail/binary_default.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
-( add_assign, release, + )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/add_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,14 +11,16 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign/assign_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
 
+#include <boost/act/interlocked/detail/impl_meta.hpp>
+
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
@@ -36,16 +38,13 @@
     detail::are_valid_assign_style_params< TargetType, SourceType const >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign( TargetType& destination, SourceType const& new_value )
 {
- typedef typename remove_volatile< TargetType >::type type;
- type const source = static_cast< type >( new_value );
-
- return detail::assign_impl
- ::execute( destination, source );
+ return detail::impl_meta< detail::assign_impl, TargetType >
+ ::execute( destination, new_value );
 }
 
 template< typename TargetType, typename SourceType >
@@ -56,12 +55,12 @@
     detail::are_valid_assign_style_params< TargetType, SourceType const >
   , detail::is_interlocked_bool< TargetType >
>
-, assign_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign( TargetType& destination, SourceType const& new_value )
 {
- typedef typename assign_result< TargetType >::type result_type;
+ typedef typename remove_cv< TargetType >::type result_type;
 
   return result_type
          (
@@ -69,8 +68,7 @@
            ( interlocked_bool_internal_value( destination )
            , static_cast< bool >( new_value )
            )
- .old_value() != 0
- , static_cast< bool >( new_value )
+ != 0
          );
 }
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,15 +11,17 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign/assign_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/if.hpp>
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
 
+#include <boost/act/interlocked/detail/impl_meta.hpp>
+
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
@@ -37,16 +39,13 @@
     detail::are_valid_assign_style_params< TargetType, SourceType const >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_acquire( TargetType& destination, SourceType const& new_value )
 {
- typedef typename remove_volatile< TargetType >::type type;
- type const source = static_cast< type >( new_value );
-
- return detail::assign_acquire_impl
- ::execute( destination, source );
+ return detail::impl_meta< detail::assign_acquire_impl, TargetType >
+ ::execute( destination, new_value );
 
 }
 
@@ -58,13 +57,12 @@
     detail::are_valid_assign_style_params< TargetType, SourceType const >
   , detail::is_interlocked_bool< TargetType >
>
-, assign_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_acquire( TargetType& destination, SourceType const& new_value )
 {
- typedef typename assign_result< TargetType >::type result_type;
- typedef typename TargetType::internal_type internal_type;
+ typedef typename remove_cv< TargetType >::type result_type;
 
   return result_type
          (
@@ -72,8 +70,7 @@
            ( interlocked_bool_internal_value( destination )
            , static_cast< bool >( new_value )
            )
- .old_value() != 0
- , static_cast< bool >( new_value )
+ != 0
          );
 }
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,11 +12,11 @@
 #include <boost/utility/enable_if.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign/assign_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked {
 
@@ -28,7 +28,7 @@
     detail::are_valid_assign_style_params< TargetType, SourceType const >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_acquire( TargetType& destination, SourceType const& new_value );
@@ -41,7 +41,7 @@
     detail::are_valid_assign_style_params< TargetType, SourceType const >
   , detail::is_interlocked_bool< TargetType >
>
-, assign_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_acquire( TargetType& destination, SourceType const& new_value );

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,69 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA
-
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/act/interlocked/assign/detail/assign_operation.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct assign_result
- : mpl::if_
- <
- detail::is_interlocked_bool< TargetType >
- , detail::binary_interlocked_result
- < detail::assign_operation
- , detail::old_value
- , bool
- >
- , detail::binary_interlocked_result
- < detail::assign_operation
- , detail::old_value
- , typename remove_volatile< TargetType >::type // ToDo: factor out
- >
- >
-{
-};
-
-} } }
-
-#else // Else: No assign support
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct assign_result
-{
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , INTERLOCKED_OPERATIONS_NOT_DEFINED_FOR_THIS_SYSTEM
- , ()
- );
-};
-
-} } }
-
-#endif
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/acquire
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/acquire 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include "assign_result_acquire.hpp"

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/acquire_fwd
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/acquire_fwd 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include "assign_result_acquire_fwd.hpp"

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/full_barrier
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/full_barrier 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include "assign_result.hpp"

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/full_barrier_fwd
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/full_barrier_fwd 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include "assign_result_fwd.hpp"

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/raw
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/raw_fwd
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/release
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/release 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include "assign_result_release.hpp"

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/release_fwd
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/release_fwd 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include "assign_result_release_fwd.hpp"

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/result_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/result_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_RESULT_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RESULT_FWD_HPP
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct assign_result;
-
-} } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -10,16 +10,14 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
 
 #include <boost/act/interlocked/assign/assign.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 struct assign_acquire_default_impl
 {
   template< typename LeftType, typename RightType >
- struct result : assign_impl::result< LeftType, RightType > {};
-
- template< typename LeftType, typename RightType >
- static typename result< LeftType, RightType >::type
+ static typename remove_cv< LeftType >::type
   execute( LeftType& left, RightType& right )
   {
     return interlocked::assign( left, right );

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,32 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
-
-#include <boost/act/interlocked/assign/assign.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_acquire_default_impl
-{
- template< typename LeftType, typename RightType >
- struct result : assign_impl::result< LeftType, RightType > {};
-
- template< typename LeftType, typename RightType >
- static typename result< LeftType, RightType >::type
- execute( LeftType& left, RightType& right )
- {
- return interlocked::assign( left, right );
- }
-};
-
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -22,7 +22,6 @@
 #else
 
 #include <boost/utility/enable_if.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -30,35 +29,24 @@
 template< typename ResultType, typename UnqualifiedType >
 struct assign_acquire_impl
 {
- template< typename TargetType, typename OperandType >
- struct result
- : binary_interlocked_result_returns_old< assign_operation
- , TargetType, OperandType
- > {};
-
   template< typename LeftType, typename RightType >
   static
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right )
+ execute( LeftType& left, RightType right )
   {
- typedef typename result< LeftType, RightType >::type result_type;
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedExchangeAcquire
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
+ InterlockedExchangeAcquire
+ ( reinterpret_cast< LONG volatile* >( &left )
+ , reinterpret_cast< LONG const& >( right )
              )
- , right
            );
   }
 
@@ -67,47 +55,37 @@
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right )
+ execute( LeftType& left, RightType right )
   {
- typedef typename result< LeftType, RightType >::type result_type;
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedExchange64Acquire
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- )
+ InterlockedExchange64Acquire
+ ( reinterpret_cast< LONGLONG volatile* >( &left )
+ , reinterpret_cast< LONGLONG const& >( right )
              )
- , right
            );
   }
 
   template< typename LeftType, typename RightType >
- static typename result< LeftType, RightType >
- execute( LeftType*& left, RightType*& right )
+ static typename remove_cv< LeftType* >::type
+ execute( LeftType*& left, RightType right )
   {
- typedef typename result< LeftType*, RightType >::type result_type;
     typedef typename remove_cv< LeftType* >::type unqualified_type;
 
- return ResultType
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedExchangePointerAcquire
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
+ InterlockedExchangePointerAcquire
+ ( const_cast< void* volatile* >
+ (
+ reinterpret_cast< void const volatile* volatile* >( &left )
                )
+ , const_cast< void* >( right )
              )
- , right
            );
   }
 };

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,119 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_VISTA_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_VISTA_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_WINDOWS
-#error Windows interlocked assign acquire included on non-Windows OS.
-#else
-
-#include <windows.h>
-
-#if WINVER < 0x0600
-#error Windows interlocked assign acquire included on pre-vista Windows OS.
-#else
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct assign_acquire_impl
-{
- template< typename TargetType, typename OperandType >
- struct result
- : binary_interlocked_result_returns_old< assign_operation
- , TargetType, OperandType
- > {};
-
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType >
- >
- ::type
- execute( LeftType& left, RightType& right )
- {
- typedef typename result< LeftType, RightType >::type result_type;
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedExchangeAcquire
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
- )
- , right
- );
- }
-
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType >
- >
- ::type
- execute( LeftType& left, RightType& right )
- {
- typedef typename result< LeftType, RightType >::type result_type;
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedExchange64Acquire
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- )
- )
- , right
- );
- }
-
- template< typename LeftType, typename RightType >
- static typename result< LeftType, RightType >
- execute( LeftType*& left, RightType*& right )
- {
- typedef typename result< LeftType*, RightType >::type result_type;
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return ResultType
- (
- static_cast< unqualified_type >
- (
- InterlockedExchangePointerAcquire
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- )
- )
- , right
- );
- }
-};
-
-} } } }
-
-#endif
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -19,7 +19,7 @@
 struct assign_default_impl
 {
   template< typename LeftType, typename RightType >
- static ResultType execute( LeftType& left, RightType& right )
+ static LeftType execute( LeftType& left, RightType& right )
   {
     BOOST_MPL_ASSERT_MSG
     (

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,35 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_DEFAULT_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_DEFAULT_IMPL_HPP
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_default_impl
-{
- template< typename LeftType, typename RightType >
- static ResultType execute( LeftType& left, RightType& right )
- {
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , NO_DEFAULT_INTERLOCKED_ASSIGN_IMPLEMENTATION
- , ()
- );
- }
-};
-
-} } } }
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1,43 @@
+/*=============================================================================
+ Copyright (c) 2006, 2007 Matthew Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_GCC_X86_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_GCC_X86_HPP
+
+#include <boost/type_traits/remove_cv.hpp>
+
+namespace boost { namespace act { namespace interlocked { namespace detail {
+
+struct assign_impl
+{
+ template< typename LeftType, typename RightType, typename OldType >
+ static typename remove_cv< LeftType >::type
+ execute( LeftType& left, RightType right )
+ {
+ typedef typename remove_cv< LeftType >::type unqualified_type;
+
+ unqualified_type old_value;
+
+ // __volatile__ guarantees no compiler reordering
+ // Note: lock is implied with xchg
+ __asm__ __volatile__
+ (
+ "sfence\n\t"
+ "xchg %1, %0":
+ "=m"( left ), "=r"( old_value ): // outputs (%0, %1)
+ "m"( left ), "1"( right ): // inputs (%2, %3 == %1)
+ "memory", "cc" // clobbers
+ );
+
+ return old_value;
+ }
+};
+
+} } } }
+
+#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,30 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_OPERATION_HPP
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_operation
-{
- struct new_from_old
- {
- template< typename ValueType, typename OperandType >
- static ValueType execute( ValueType& value, OperandType& operand )
- {
- return static_cast< ValueType >( operand );
- }
- };
-
- struct old_from_new;
-};
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -21,68 +21,48 @@
 
 #include <windows.h> // ToDo: Remove (forward declare functions)
 
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
-#include <boost/act/interlocked/add_assign/detail/add_assign_operation.hpp>
-
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 struct assign_impl
 {
- template< typename TargetType, typename OperandType >
- struct result
- : binary_interlocked_result_returns_old< assign_operation
- , TargetType, OperandType
- > {};
-
   template< typename LeftType, typename RightType >
   static
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right )
+ execute( LeftType& left, RightType right )
   {
- typedef typename result< LeftType, RightType >::type result_type;
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_EXCHANGE
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
+ BOOST_INTERLOCKED_EXCHANGE
+ ( reinterpret_cast< LONG volatile* >( &left )
+ , reinterpret_cast< LONG const& >( right )
              )
- , right
            );
   }
 
   template< typename LeftType, typename RightType >
- static typename result< LeftType, RightType >::type
- execute( LeftType*& left, RightType*& right )
+ static typename remove_cv< LeftType* >::type
+ execute( LeftType*& left, RightType right )
   {
- typedef typename result< LeftType*, RightType >::type result_type;
     typedef typename remove_cv< LeftType* >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_EXCHANGE_POINTER
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
+ BOOST_INTERLOCKED_EXCHANGE_POINTER
+ ( const_cast< void* volatile* >
+ (
+ reinterpret_cast< void const volatile* volatile* >( &left )
                )
+ , const_cast< void* >( right )
              )
- , right
            );
     
   }
@@ -94,24 +74,19 @@
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right )
+ execute( LeftType& left, RightType right )
   {
- typedef typename result< LeftType, RightType >::type result_type;
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedExchange64
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- )
+ InterlockedExchange64
+ ( reinterpret_cast< LONGLONG volatile* >( &left )
+ , reinterpret_cast< LONGLONG const& >( right )
              )
- , right
            );
   }
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_windows.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,126 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_WINDOWS_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_WINDOWS_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_WINDOWS
-#error Windows interlocked assign included on non-windows OS.
-#else
-
-#include <boost/detail/interlocked.hpp>
-
-#include <boost/utility/enable_if.hpp>
-
-#include <windows.h> // ToDo: Remove (forward declare functions)
-
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
-#include <boost/act/interlocked/add_assign/detail/add_assign_operation.hpp>
-
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_impl
-{
- template< typename TargetType, typename OperandType >
- struct result
- : binary_interlocked_result_returns_old< assign_operation
- , TargetType, OperandType
- > {};
-
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType >
- >
- ::type
- execute( LeftType& left, RightType& right )
- {
- typedef typename result< LeftType, RightType >::type result_type;
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_EXCHANGE
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
- )
- , right
- );
- }
-
- template< typename LeftType, typename RightType >
- static typename result< LeftType, RightType >::type
- execute( LeftType*& left, RightType*& right )
- {
- typedef typename result< LeftType*, RightType >::type result_type;
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_EXCHANGE_POINTER
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- )
- )
- , right
- );
-
- }
-
-#if WINVER >= 0x0600
-
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType >
- >
- ::type
- execute( LeftType& left, RightType& right )
- {
- typedef typename result< LeftType, RightType >::type result_type;
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedExchange64
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- )
- )
- , right
- );
- }
-
-#endif
-
-};
-
-} } } }
-
-#endif
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,14 +11,16 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign_if_was/assign_if_was_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
 
+#include <boost/act/interlocked/detail/impl_meta.hpp>
+
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
@@ -38,20 +40,15 @@
>
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was( TargetType& destination, SourceType const& new_value
              , ConditionType const& expected_value
              )
 {
- typedef typename remove_volatile< TargetType >::type type;
-
- type const source = static_cast< type >( new_value ),
- old_value = static_cast< type >( expected_value );
-
- return detail::assign_if_was_impl
- ::execute( destination, source, old_value );
+ return detail::impl_meta< detail::assign_if_was_impl, TargetType >
+ ::execute( destination, new_value, expected_value );
 }
 
 template< typename TargetType, typename SourceType, typename ConditionType >
@@ -64,16 +61,14 @@
>
   , detail::is_interlocked_bool< TargetType >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was( TargetType& destination, SourceType const& new_value
              , ConditionType const& expected_value
              )
 {
- typedef typename assign_if_was_result< TargetType >::type result_type;
-
- typedef typename TargetType::internal_type internal_type;
+ typedef typename remove_cv< TargetType >::type result_type;
 
   return result_type
          (
@@ -82,9 +77,7 @@
            , static_cast< bool >( new_value )
            , static_cast< bool >( expected_value )
            )
- .old_value() != 0
- , static_cast< bool >( new_value )
- , static_cast< bool >( expected_value )
+ != 0
          );
 }
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,15 +11,17 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign_if_was/assign_if_was_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/if.hpp>
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
 
+#include <boost/act/interlocked/detail/impl_meta.hpp>
+
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
@@ -39,22 +41,15 @@
>
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_acquire( TargetType& destination, SourceType const& new_value
                      , ConditionType const& expected_value
                      )
 {
- typedef typename remove_volatile< TargetType >::type type;
-
- type const source = static_cast< type >( new_value ),
- old_value = static_cast< type >( expected_value );
-
- typedef typename assign_if_was_result< TargetType >::type result_type;
-
- return detail::assign_if_was_acquire_impl
- ::execute( destination, source, old_value );
+ return detail::impl_meta< detail::assign_if_was_acquire_impl, TargetType >
+ ::execute( destination, new_value, expected_value );
 }
 
 template< typename TargetType, typename SourceType, typename ConditionType >
@@ -67,16 +62,14 @@
>
   , detail::is_interlocked_bool< TargetType >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_acquire( TargetType& destination, SourceType const& new_value
                      , ConditionType const& expected_value
                      )
 {
- typedef typename assign_if_was_result< TargetType >::type result_type;
-
- typedef typename TargetType::internal_type internal_type;
+ typedef typename remove_cv< TargetType >::type result_type;
 
   return result_type
          (
@@ -85,9 +78,7 @@
            , static_cast< bool >( new_value )
            , static_cast< bool >( expected_value )
            )
- .old_value() != 0
- , static_cast< bool >( new_value )
- , static_cast< bool >( expected_value )
+ != 0
          );
 }
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_acquire_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -10,9 +10,9 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_ACQUIRE_FWD_HPP
 
 #include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign_if_was/assign_if_was_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/and.hpp>
@@ -30,7 +30,7 @@
>
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_acquire( TargetType& destination, SourceType const& new_value
@@ -47,7 +47,7 @@
>
   , detail::is_interlocked_bool< TargetType >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_acquire( TargetType& destination, SourceType const& new_value

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -10,9 +10,9 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_FWD_HPP
 
 #include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign_if_was/assign_if_was_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/and.hpp>
@@ -30,7 +30,7 @@
>
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was( TargetType& destination, SourceType const& new_value
@@ -47,7 +47,7 @@
>
   , detail::is_interlocked_bool< TargetType >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was( TargetType& destination, SourceType const& new_value

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,15 +11,17 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign_if_was/assign_if_was_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/if.hpp>
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
 
+#include <boost/act/interlocked/detail/impl_meta.hpp>
+
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
@@ -39,22 +41,15 @@
>
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_release( TargetType& destination, SourceType const& new_value
                      , ConditionType const& expected_value
                      )
 {
- typedef typename remove_volatile< TargetType >::type type;
-
- type const source = static_cast< type >( new_value ),
- old_value = static_cast< type >( expected_value );
-
- typedef typename assign_if_was_result< TargetType >::type result_type;
-
- return detail::assign_if_was_release_impl
- ::execute( destination, source, old_value );
+ return detail::impl_meta< detail::assign_if_was_release_impl, TargetType >
+ ::execute( destination, new_value, expected_value );
 }
 
 template< typename TargetType, typename SourceType, typename ConditionType >
@@ -67,16 +62,14 @@
>
   , detail::is_interlocked_bool< TargetType >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_release( TargetType& destination, SourceType const& new_value
                      , ConditionType const& expected_value
                      )
 {
- typedef typename assign_if_was_result< TargetType >::type result_type;
-
- typedef typename TargetType::internal_type internal_type;
+ typedef typename remove_cv< TargetType >::type result_type;
 
   return result_type
          (
@@ -85,9 +78,7 @@
            , static_cast< bool >( new_value )
            , static_cast< bool >( expected_value )
            )
- .old_value() != 0
- , static_cast< bool >( new_value )
- , static_cast< bool >( expected_value )
+ != 0
          );
 }
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_release_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -10,9 +10,9 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_RELEASE_FWD_HPP
 
 #include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/assign_if_was/assign_if_was_result.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
 
 #include <boost/mpl/and.hpp>
@@ -30,7 +30,7 @@
>
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_release( TargetType& destination, SourceType const& new_value
@@ -47,7 +47,7 @@
>
   , detail::is_interlocked_bool< TargetType >
>
-, assign_if_was_result< TargetType >
+, remove_cv< TargetType >
>
 ::type
 assign_if_was_release( TargetType& destination, SourceType const& new_value

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,66 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_RESULT_HPP
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA
-
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct assign_if_was_result
- : mpl::if_
- <
- detail::is_interlocked_bool< TargetType >
- , detail::assign_if_was_interlocked_result
- < detail::BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_CAS_RETURN
- , bool
- >
- , detail::assign_if_was_interlocked_result
- < detail::BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_CAS_RETURN
- , typename remove_volatile< TargetType >::type // ToDo: factor out
- >
- >
-{
-};
-
-} } }
-
-#else // Else: No assign support
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct assign_if_was_result
-{
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , INTERLOCKED_OPERATIONS_NOT_DEFINED_FOR_THIS_SYSTEM
- , ()
- );
-};
-
-} } }
-
-#endif
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/assign_if_was_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_ASSIGN_IF_WAS_RESULT_FWD_HPP
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct assign_if_was_result;
-
-} } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -10,17 +10,15 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_ACQDEF_IMPL_HPP
 
 #include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 struct assign_if_was_acquire_default_impl
 {
   template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_impl::result< LeftType, RightType, OldType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static typename result< LeftType, RightType, OldType >::type
- execute( LeftType& left, RightType& right, OldType& old )
+ static typename boost::remove_cv< LeftType >::type
+ execute( LeftType& left, RightType right, OldType old )
   {
     return interlocked::assign_if_was( left, right, old );
   }

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,32 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_ACQDEF_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_ACQDEF_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_if_was_acquire_default_impl
-{
- template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_impl::result< LeftType, RightType, OldType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static typename result< LeftType, RightType, OldType >::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- return interlocked::assign_if_was( left, right, old );
- }
-};
-
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -23,7 +23,6 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_cv.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
@@ -31,34 +30,23 @@
 struct assign_if_was_acquire_impl
 {
   template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_interlocked_result_returns_old< LeftType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
   static
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType, OldType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right, OldType& old )
+ execute( LeftType& left, RightType right, OldType old )
   {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangeAcquire
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
+ InterlockedCompareExchangeAcquire
+ ( reinterpret_cast< LONG volatile* >( &left )
+ , reinterpret_cast< LONG const& >( right )
              )
- , right
- , old
            );
   }
 
@@ -67,56 +55,39 @@
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType, OldType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right, OldType& old )
+ execute( LeftType& left, RightType right, OldType old )
   {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchange64Acquire
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- , reinterpret_cast< LONGLONG const& >( old )
- )
+ InterlockedCompareExchange64Acquire
+ ( reinterpret_cast< LONGLONG volatile* >( &left )
+ , reinterpret_cast< LONGLONG const& >( right )
+ , reinterpret_cast< LONGLONG const& >( old )
              )
- , right
- , old
            );
   }
 
   template< typename LeftType, typename RightType, typename OldType >
- static
- typename result< LeftType, RightType, OldType >::type
- execute( LeftType*& left, RightType*& right, OldType*& old )
+ static typename remove_cv< LeftType* >::type
+ execute( LeftType*& left, RightType right, OldType old )
   {
- typedef typename result< LeftType*, RightType*, OldType* >::type
- result_type;
-
     typedef typename remove_cv< LeftType* >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangePointerAcquire
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- , const_cast< void* >( old )
+ InterlockedCompareExchangePointerAcquire
+ ( const_cast< void* volatile* >
+ (
+ reinterpret_cast< void const volatile* volatile* >( &left )
                )
+ , const_cast< void* >( right )
+ , const_cast< void* >( old )
              )
- , right
- , old
            );
   }
 };

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_acquire_windows.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,128 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_ACQ_VISTA_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_ACQ_VISTA_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_WINDOWS
-#error Windows interlocked assign acquire included on non-Windows OS.
-#else
-
-#include <windows.h>
-
-#if WINVER < 0x0600
-#error Windows interlocked assign acquire included on pre-vista Windows OS.
-#else
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct assign_if_was_acquire_impl
-{
- template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_interlocked_result_returns_old< LeftType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType, OldType >
- >
- ::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangeAcquire
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
- )
- , right
- , old
- );
- }
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType, OldType >
- >
- ::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchange64Acquire
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- , reinterpret_cast< LONGLONG const& >( old )
- )
- )
- , right
- , old
- );
- }
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename result< LeftType, RightType, OldType >::type
- execute( LeftType*& left, RightType*& right, OldType*& old )
- {
- typedef typename result< LeftType*, RightType*, OldType* >::type
- result_type;
-
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangePointerAcquire
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- , const_cast< void* >( old )
- )
- )
- , right
- , old
- );
- }
-};
-
-} } } }
-
-#endif
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,37 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_IF_WAS_DEFAULT_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_IF_WAS_DEFAULT_IMPL_HPP
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-// ToDo: Make better stub impl
-
-struct assign_if_was_default_impl
-{
- template< typename LeftType, typename RightType, typename ConditionType >
- static void execute( LeftType&, RightType&, ConditionType& )
- {
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , NO_DEFAULT_INTERLOCKED_ASSIGN_IF_WAS_IMPLEMENTATION
- , ()
- );
- }
-};
-
-} } } }
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Copyright (c) 2006, 2007 Matthew Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_GCC_X86_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_GCC_X86_HPP
+
+#include <boost/config.hpp>
+
+#include <boost/detail/interlocked.hpp>
+
+#include <boost/type_traits/remove_cv.hpp>
+
+namespace boost { namespace act { namespace interlocked { namespace detail {
+
+struct assign_if_was_impl
+{
+ template< typename LeftType, typename RightType, typename OldType >
+ static typename remove_cv< LeftType >::type
+ execute( LeftType& left, RightType right, OldType old )
+ {
+ typedef typename remove_cv< LeftType >::type unqualified_type;
+
+ unqualified_type old_value;
+
+ // __volatile__ guarantees no compiler reordering
+ __asm__ __volatile__
+ (
+ "sfence\n\t"
+ "lock\n\t"
+ "cmpxchgl %1, %2":
+ "=a"( old_value ):
+ "q"( right ), "m"( left ), "0"( old ):
+ "memory", "cc"
+ "lfence\n\t"
+ );
+
+ return old_value;
+ }
+};
+
+} } } }
+
+#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -10,17 +10,15 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_RELDEF_IMPL_HPP
 
 #include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 struct assign_if_was_release_default_impl
 {
   template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_impl::result< LeftType, RightType, OldType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static typename result< LeftType, RightType, OldType >::type
- execute( LeftType& left, RightType& right, OldType& old )
+ static typename boost::remove_cv< LeftType >::type
+ execute( LeftType& left, RightType right, OldType old )
   {
     return interlocked::assign_if_was( left, right, old );
   }

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,32 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_RELDEF_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_RELDEF_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_if_was_release_default_impl
-{
- template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_impl::result< LeftType, RightType, OldType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static typename result< LeftType, RightType, OldType >::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- return interlocked::assign_if_was( left, right, old );
- }
-};
-
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -23,7 +23,6 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_cv.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
@@ -31,34 +30,23 @@
 struct assign_if_was_release_impl
 {
   template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_interlocked_result_returns_old< LeftType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
   static
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType, OldType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right, OldType& old )
+ execute( LeftType& left, RightType right, OldType old )
   {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangeRelease
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
+ InterlockedCompareExchangeRelease
+ ( reinterpret_cast< LONG volatile* >( &left )
+ , reinterpret_cast< LONG const& >( right )
              )
- , right
- , old
            );
   }
 
@@ -67,56 +55,39 @@
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType, OldType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right, OldType& old )
+ execute( LeftType& left, RightType right, OldType old )
   {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchange64Release
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- , reinterpret_cast< LONGLONG const& >( old )
- )
+ InterlockedCompareExchange64Release
+ ( reinterpret_cast< LONGLONG volatile* >( &left )
+ , reinterpret_cast< LONGLONG const& >( right )
+ , reinterpret_cast< LONGLONG const& >( old )
              )
- , right
- , old
            );
   }
 
   template< typename LeftType, typename RightType, typename OldType >
- static
- typename result< LeftType, RightType, OldType >::type
- execute( LeftType*& left, RightType*& right, OldType*& old )
+ static typename remove_cv< LeftType* >::type
+ execute( LeftType*& left, RightType right, OldType old )
   {
- typedef typename result< LeftType*, RightType*, OldType* >::type
- result_type;
-
     typedef typename remove_cv< LeftType* >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangePointerRelease
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- , const_cast< void* >( old )
+ InterlockedCompareExchangePointerRelease
+ ( const_cast< void* volatile* >
+ (
+ reinterpret_cast< void const volatile* volatile* >( &left )
                )
+ , const_cast< void* >( right )
+ , const_cast< void* >( old )
              )
- , right
- , old
            );
   }
 };

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_release_windows.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,128 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_REL_VISTA_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_REL_VISTA_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_WINDOWS
-#error Windows interlocked assign acquire included on non-Windows OS.
-#else
-
-#include <windows.h>
-
-#if WINVER < 0x0600
-#error Windows interlocked assign acquire included on pre-vista Windows OS.
-#else
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct assign_if_was_release_impl
-{
- template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_interlocked_result_returns_old< LeftType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType, OldType >
- >
- ::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangeRelease
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
- )
- , right
- , old
- );
- }
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType, OldType >
- >
- ::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchange64Release
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- , reinterpret_cast< LONGLONG const& >( old )
- )
- )
- , right
- , old
- );
- }
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename result< LeftType, RightType, OldType >::type
- execute( LeftType*& left, RightType*& right, OldType*& old )
- {
- typedef typename result< LeftType*, RightType*, OldType* >::type
- result_type;
-
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchangePointerRelease
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- , const_cast< void* >( old )
- )
- )
- , right
- , old
- );
- }
-};
-
-} } } }
-
-#endif
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -21,8 +21,6 @@
 
 #include <windows.h> // ToDo: Remove (forward declare functions)
 
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -30,63 +28,43 @@
 struct assign_if_was_impl
 {
   template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_interlocked_result_returns_old< LeftType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
   static
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType, OldType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right, OldType& old )
+ execute( LeftType& left, RightType right, OldType old )
   {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_COMPARE_EXCHANGE
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- , reinterpret_cast< LONG const& >( old )
- )
+ BOOST_INTERLOCKED_COMPARE_EXCHANGE
+ ( reinterpret_cast< LONG volatile* >( &left )
+ , reinterpret_cast< LONG const& >( right )
+ , reinterpret_cast< LONG const& >( old )
              )
- , right
- , old
            );
   }
 
   template< typename LeftType, typename RightType, typename OldType >
- static
- typename result< LeftType, RightType, OldType >::type
- execute( LeftType*& left, RightType*& right, OldType*& old )
+ static typename remove_cv< LeftType* >::type
+ execute( LeftType*& left, RightType right, OldType old )
   {
- typedef typename result< LeftType*, RightType*, OldType* >::type
- result_type;
-
     typedef typename remove_cv< LeftType* >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- , const_cast< void* >( old )
+ BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER
+ ( const_cast< void* volatile* >
+ (
+ reinterpret_cast< void const volatile* volatile* >( &left )
                )
+ , const_cast< void* >( right )
+ , const_cast< void* >( old )
              )
- , right
- , old
            );
     
   }
@@ -98,28 +76,20 @@
   typename lazy_enable_if_c
   <
     ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType, OldType >
+ , remove_cv< LeftType >
>
   ::type
- execute( LeftType& left, RightType& right, OldType& old )
+ execute( LeftType& left, RightType right, OldType old )
   {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
     typedef typename remove_cv< LeftType >::type unqualified_type;
 
- return result_type
+ return static_cast< unqualified_type >
            (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchange64
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- , reinterpret_cast< LONGLONG const& >( old )
- )
+ InterlockedCompareExchange64
+ ( reinterpret_cast< LONGLONG volatile* >( &left )
+ , reinterpret_cast< LONGLONG const& >( right )
+ , reinterpret_cast< LONGLONG const& >( old )
              )
- , right
- , old
            );
   }
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_windows.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,134 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_WINDOWS_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_IF_WAS_DETAIL_ASSIGN_IF_WAS_WINDOWS_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_WINDOWS
-#error Windows interlocked assign if was included on non-windows OS.
-#else
-
-#include <boost/detail/interlocked.hpp>
-
-#include <boost/utility/enable_if.hpp>
-
-#include <windows.h> // ToDo: Remove (forward declare functions)
-
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_if_was_impl
-{
- template< typename LeftType, typename RightType, typename OldType >
- struct result : assign_if_was_interlocked_result_returns_old< LeftType > {};
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , result< LeftType, RightType, OldType >
- >
- ::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_COMPARE_EXCHANGE
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- , reinterpret_cast< LONG const& >( old )
- )
- )
- , right
- , old
- );
- }
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename result< LeftType, RightType, OldType >::type
- execute( LeftType*& left, RightType*& right, OldType*& old )
- {
- typedef typename result< LeftType*, RightType*, OldType* >::type
- result_type;
-
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- , const_cast< void* >( old )
- )
- )
- , right
- , old
- );
-
- }
-
-#if WINVER >= 0x0600
-
- template< typename LeftType, typename RightType, typename OldType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , result< LeftType, RightType, OldType >
- >
- ::type
- execute( LeftType& left, RightType& right, OldType& old )
- {
- typedef typename result< LeftType, RightType, OldType >::type
- result_type;
-
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return result_type
- (
- static_cast< unqualified_type >
- (
- InterlockedCompareExchange64
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- , reinterpret_cast< LONGLONG const& >( old )
- )
- )
- , right
- , old
- );
- }
-
-#endif
-
-};
-
-} } } }
-
-#endif
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,5 @@
 #include <boost/act/interlocked/bitand_assign/bitand_assign.hpp>
 #include <boost/act/interlocked/bitand_assign/bitand_assign_acquire.hpp>
 #include <boost/act/interlocked/bitand_assign/bitand_assign_release.hpp>
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result.hpp>
 
 #endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_BITAND_ASSIGN_BITAND_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_BITAND_ASSIGN_BITAND_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result/bitand_assign_result.hpp>
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result/bitand_assign_acquire_result.hpp>
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result/bitand_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/bitand_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_BITAND_ASSIGN_BITAND_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_BITAND_ASSIGN_BITAND_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result/bitand_assign_result_fwd.hpp>
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result/bitand_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result/bitand_assign_release_result_fwd.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/detail/bitand_assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/detail/bitand_assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_BITANDTRACT_ASSIGN_DETAIL_BITANDTRACT_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_BITANDTRACT_ASSIGN_DETAIL_BITANDTRACT_ASSIGN_OPERATION_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_OPERATION_INFO \
-( bitand_assign, &, no_inverse(BOOST_PP_NIL) )
-
-#include <boost/act/interlocked/detail/binary_operation.hpp>
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitand_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,5 @@
 #include <boost/act/interlocked/bitor_assign/bitor_assign.hpp>
 #include <boost/act/interlocked/bitor_assign/bitor_assign_acquire.hpp>
 #include <boost/act/interlocked/bitor_assign/bitor_assign_release.hpp>
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result.hpp>
 
 #endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_BITOR_ASSIGN_BITOR_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_BITOR_ASSIGN_BITOR_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result/bitor_assign_result.hpp>
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result/bitor_assign_acquire_result.hpp>
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result/bitor_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/bitor_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_BITOR_ASSIGN_BITOR_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_BITOR_ASSIGN_BITOR_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result/bitor_assign_result_fwd.hpp>
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result/bitor_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/bitor_assign/bitor_assign_result/bitor_assign_release_result_fwd.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/detail/bitor_assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/detail/bitor_assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_BITORTRACT_ASSIGN_DETAIL_BITORTRACT_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_BITORTRACT_ASSIGN_DETAIL_BITORTRACT_ASSIGN_OPERATION_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_OPERATION_INFO \
-( bitor_assign, |, no_inverse(BOOST_PP_NIL) )
-
-#include <boost/act/interlocked/detail/binary_operation.hpp>
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/bitor_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1,16 @@
+/*=============================================================================
+ Copyright (c) 2006, 2007 Matthew Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_ACT_INTERLOCKED_COMPILER_FENCE_HPP
+#define BOOST_ACT_INTERLOCKED_COMPILER_FENCE_HPP
+
+#include <boost/act/interlocked/compiler_fence/compiler_fence.hpp>
+#include <boost/act/interlocked/compiler_fence/compiler_fence_read.hpp>
+#include <boost/act/interlocked/compiler_fence/compiler_fence_write.hpp>
+
+#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Copyright (c) 2006, 2007 Matthew Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_ACT_INTERLOCKED_COMPILER_FENCE_COMPILER_FENCE_HPP
+#define BOOST_ACT_INTERLOCKED_COMPILER_FENCE_COMPILER_FENCE_HPP
+
+namespace boost { namespace act { namespace interlocked {
+
+
+
+} } }
+
+#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_read.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_write.hpp
==============================================================================

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/compl_assign_result.hpp
==============================================================================

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/detail/compl_assign_operation.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compl_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/decrement_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/decrement_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DECREMENT_DECREMENT_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_DECREMENT_DECREMENT_RESULT_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_RESULT_INFO decrement
-
-#include <boost/act/interlocked/detail/unary_result_impl.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/decrement_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/decrement_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DECREMENT_DECREMENT_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_DECREMENT_DECREMENT_RESULT_FWD_HPP
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct decrement_result;
-
-} } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,8 +12,6 @@
 #include <boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 #include <boost/act/detail/prior.hpp>
-#include <boost/act/interlocked/decrement/detail/decrement_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -21,15 +19,8 @@
 struct decrement_acquire_default_impl
 {
   template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< decrement_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
+ static typename remove_cv< TargetType >::type execute( TargetType& target )
   {
- typedef typename result< TargetType >::type result_type;
     typedef typename remove_cv< TargetType >::type unqualified_type;
 
     unqualified_type new_value;
@@ -40,14 +31,13 @@
                           , act::detail::prior( curr_value )
                           , curr_value
                           )
- .old_value()
             )
          != curr_value
        ; curr_value = new_value
        );
 
     // Note: new_value is old value here
- return result_type( new_value );
+ return new_value;
   }
 };
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,56 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_ACQUIRE_DEF_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_ACQUIRE_DEF_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/detail/prior.hpp>
-#include <boost/act/interlocked/decrement/detail/decrement_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct decrement_acquire_default_impl
-{
- template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< decrement_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
- {
- typedef typename result< TargetType >::type result_type;
- typedef typename remove_cv< TargetType >::type unqualified_type;
-
- unqualified_type new_value;
-
- for( unqualified_type curr_value = retrieve( target )
- ; ( new_value = assign_if_was_acquire
- ( target
- , act::detail::prior( curr_value )
- , curr_value
- )
- .old_value()
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is old value here
- return result_type( new_value );
- }
-};
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,8 +12,6 @@
 #include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 #include <boost/act/detail/prior.hpp>
-#include <boost/act/interlocked/decrement/detail/decrement_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -21,15 +19,8 @@
 struct decrement_default_impl
 {
   template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< decrement_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
+ static typename remove_cv< TargetType >::type execute( TargetType& target )
   {
- typedef typename result< TargetType >::type result_type;
     typedef typename remove_cv< TargetType >::type unqualified_type;
 
     unqualified_type new_value;
@@ -40,14 +31,13 @@
                           , act::detail::prior( curr_value )
                           , curr_value
                           )
- .old_value()
             )
          != curr_value
        ; curr_value = new_value
        );
 
     // Note: new_value is old value here
- return result_type( new_value );
+ return new_value;
   }
 };
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,56 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_DEFAULT_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_DEFAULT_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/detail/prior.hpp>
-#include <boost/act/interlocked/decrement/detail/decrement_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct decrement_default_impl
-{
- template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< decrement_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
- {
- typedef typename result< TargetType >::type result_type;
- typedef typename remove_cv< TargetType >::type unqualified_type;
-
- unqualified_type new_value;
-
- for( unqualified_type curr_value = retrieve( target )
- ; ( new_value = assign_if_was
- ( target
- , act::detail::prior( curr_value )
- , curr_value
- )
- .old_value()
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is old value here
- return result_type( new_value );
- }
-};
-
-} } } }
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,40 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_OPERATION_HPP
-
-#include <boost/act/detail/next.hpp>
-#include <boost/act/detail/prior.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct decrement_operation
-{
- struct new_from_old
- {
- template< typename ValueType >
- static ValueType execute( ValueType& value )
- {
- return act::detail::prior( value );
- }
- };
-
- struct old_from_new
- {
- template< typename ValueType >
- static ValueType execute( ValueType& value )
- {
- return act::detail::next( value );
- }
- };
-};
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,8 +12,6 @@
 #include <boost/act/interlocked/assign_if_was/assign_if_was_release.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 #include <boost/act/detail/prior.hpp>
-#include <boost/act/interlocked/decrement/detail/decrement_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -21,15 +19,8 @@
 struct decrement_release_default_impl
 {
   template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< decrement_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
+ static typename remove_cv< TargetType >::type execute( TargetType& target )
   {
- typedef typename result< TargetType >::type result_type;
     typedef typename remove_cv< TargetType >::type unqualified_type;
 
     unqualified_type new_value;
@@ -40,14 +31,13 @@
                           , act::detail::prior( curr_value )
                           , curr_value
                           )
- .old_value()
             )
          != curr_value
        ; curr_value = new_value
        );
 
     // Note: new_value is old value here
- return result_type( new_value );
+ return new_value;
   }
 };
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,56 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_RELEASE_DEF_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_DECREMENT_DETAIL_DECREMENT_RELEASE_DEF_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was_release.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/detail/prior.hpp>
-#include <boost/act/interlocked/decrement/detail/decrement_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct decrement_release_default_impl
-{
- template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< decrement_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
- {
- typedef typename result< TargetType >::type result_type;
- typedef typename remove_cv< TargetType >::type unqualified_type;
-
- unqualified_type new_value;
-
- for( unqualified_type curr_value = retrieve( target )
- ; ( new_value = assign_if_was_release
- ( target
- , act::detail::prior( curr_value )
- , curr_value
- )
- .old_value()
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is old value here
- return result_type( new_value );
- }
-};
-
-} } } }
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -72,6 +72,8 @@
 
 #endif
 
+#include <boost/type_traits/remove_cv.hpp>
+
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 struct BOOST_PP_CAT
@@ -80,67 +82,22 @@
        , _default_impl
        )
 {
- template< typename TargetType, typename OperandType = TargetType >
- struct result;
-
   template< typename TargetType, typename OperandType >
- static typename result< TargetType, OperandType >::type
+ static typename remove_cv< TargetType >::type
   execute( TargetType& target, OperandType& operand );
 };
 
 } } } }
 
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-
-#define BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_IMPL_OPERATION_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( /detail/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, _operation.hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_IMPL_OPERATION_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_IMPL_OPERATION_HEADER
-
 #if BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER
 
 #include <boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp>
 #include <boost/act/interlocked/retrieve_fwd.hpp>
-#include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 template< typename TargetType, typename OperandType >
-struct BOOST_PP_CAT
- (
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
- , _default_impl
- )
- ::result
- : binary_interlocked_result_returns_old // ToDo: Change to select
- <
- BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME
- , _operation
- )
- , TargetType, OperandType
- > {};
-
-template< typename TargetType, typename OperandType >
-typename BOOST_PP_CAT
- (
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
- , _default_impl
- )
- ::result< TargetType, OperandType >::type
+typename remove_cv< TargetType >::type
 BOOST_PP_CAT
 (
   BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
@@ -160,17 +117,13 @@
                           operand
                         , curr_value
                         )
- .old_value()
           )
        != curr_value
      ; curr_value = new_value
      );
 
- typedef typename typename result< TargetType, OperandType >::type
- result_type;
-
   // Note: new_value is the old value here
- return result_type( new_value, operand );
+ return new_value;
 }
 
 } } } }
@@ -206,26 +159,7 @@
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 template< typename TargetType, typename OperandType >
-struct BOOST_PP_CAT
- (
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
- , _default_impl
- )
- ::result
- : BOOST_PP_CAT
- (
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME
- , _impl
- )
- ::template result< TargetType, OperandType > {};
-
-template< typename TargetType, typename OperandType >
-typename BOOST_PP_CAT
- (
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
- , _default_impl
- )
- ::result< TargetType, OperandType >::type
+typename remove_cv< TargetType >::type
 BOOST_PP_CAT
 (
   BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -14,6 +14,7 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
@@ -24,8 +25,6 @@
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
 
-#include <boost/type_traits/remove_volatile.hpp>
-
 #include <boost/act/interlocked/detail/impl_meta.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_FORWARDER_IS_ADDITIVE \
@@ -65,24 +64,13 @@
     < TargetType, OperandType >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SHORT_NAME
- , _result
- )
- < TargetType, OperandType const >
+, remove_cv< TargetType >
>
 ::type
 BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FULL_NAME( TargetType& target
                                                 , OperandType const& operand
                                                 )
 {
- typedef typename remove_volatile< TargetType >::type type;
- typedef typename BOOST_PP_CAT
- ( BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SHORT_NAME
- , _result
- )
- < TargetType >
- ::type result_type;
-
   return detail::impl_meta
          <
            detail::BOOST_PP_CAT

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_fwd_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_fwd_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_forwarder_fwd_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -13,6 +13,7 @@
 #include <boost/preprocessor/cat.hpp>
 
 #include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
@@ -57,10 +58,7 @@
     < TargetType, OperandType >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_SHORT_NAME
- , _result
- )
- < TargetType, OperandType const >
+, remove_cv< TargetType >
>
 ::type
 BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_FULL_NAME( TargetType& target

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_result_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_result_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_result_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -21,6 +21,7 @@
 #ifdef BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA
 
 #include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/stringize.hpp>
 
 #include <boost/act/interlocked/detail/impl.hpp>
 
@@ -29,27 +30,6 @@
 
 #include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_BEGIN()
 
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_RESULT_DECLARATION_HEADER() \
-BOOST_PP_CAT \
-( BOOST_PP_CAT \
- ( BOOST_PP_CAT \
- ( BOOST_PP_CAT \
- ( BOOST_PP_CAT \
- ( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SHORT_NAME \
- ) \
- , / \
- ) \
- , BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SHORT_NAME \
- ) \
- , _result/ \
- ) \
- , BOOST_ACT_INTERLOCKED_DETAIL_IMPL_FULL_NAME \
- ) \
-, _result_fwd.hpp> \
-)
-
 #include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_RESULT_DECLARATION_HEADER()
 
 #undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_RESULT_DECLARATION_HEADER

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -175,18 +175,6 @@
 BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_ \
             , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_RETRIEVE_INFO \
             )
-/*
-#define BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER() \
-BOOST_PP_IF \
-( \
- BOOST_ACT_INTERLOCKED_DETAIL_HAS_CUSTOM_IMPL \
- ( BOOST_PP_TUPLE_ELEM( 2, 0, BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO ) \
- , BOOST_PP_TUPLE_ELEM( 2, 1, BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO ) \
- ) \
-, <boost/act/interlocked/detail/custom_impl.hpp> \
-, <boost/act/interlocked/detail/default_impl.hpp> \
-)
-*/
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support_data.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support_data.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support_data.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -70,6 +70,23 @@
 
   #endif // End WINVER checks
 
+#elif defined( __GNUC__ )
+
+ #if defined( __i386__ )
+
+ // Note: Same name as x64 on purpose
+ #define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA \
+ ( gcc_x86,(32),old_value,volatile_retrieve \
+ , ( ( assign, ( full_barrier ) ) ) \
+ ( ( assign_if_was, ( full_barrier ) ) ) \
+ )
+
+ #elif defined( __x86_64__ )
+
+ #error GCC not supported for 64-bit.
+
+ #endif
+
 #endif // End OS checks
 
 #endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/custom_impl.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/custom_impl.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,66 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO
-#error Improper incusion of interlocked implementation header. Contact Boost.
-#else
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/act/interlocked/detail/full_name.hpp>
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER_RAW
-#undef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER_RAW
-#endif
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER_RAW() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT \
- ( \
- BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_PP_TUPLE_ELEM( 2, 0 \
- , BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO \
- ) \
- ) \
- , /detail/ \
- ) \
-, BOOST_PP_CAT \
- ( \
- BOOST_PP_CAT \
- ( \
- BOOST_PP_CAT \
- ( \
- BOOST_ACT_INTERLOCKED_DETAIL_FULL_NAME \
- ( BOOST_PP_TUPLE_ELEM( 2, 0 \
- , BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO \
- ) \
- , BOOST_PP_TUPLE_ELEM( 2, 1 \
- , BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO \
- ) \
- ) \
- , _ \
- ) \
- , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_NAME \
- ) \
- , .hpp> \
- ) \
-)
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER_RAW()
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER_RAW
-#undef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_HEADER_RAW
-#endif
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO
-#undef BOOST_ACT_INTERLOCKED_DETAIL_CUSTOM_IMPL_INFO
-#endif
-
-#endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_begin_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_begin_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_begin_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -18,6 +18,7 @@
 
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/stringize.hpp>
 #include <boost/act/interlocked/detail/cas_support.hpp>
 #include <boost/act/interlocked/detail/full_name.hpp>
 
@@ -33,28 +34,6 @@
 , BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SEMANTICS \
 )
 
-#define BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_OP_HEADER_OPENER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SHORT_NAME \
- ) \
-, / \
-)
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_OP_RESULT_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_OP_HEADER_OPENER() \
-, BOOST_PP_CAT \
- ( \
- BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SHORT_NAME \
- , _result.hpp> \
- ) \
-)
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_OP_RESULT_HEADER()
-
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_fwd_begin_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_fwd_begin_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/forwarder_fwd_begin_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -26,26 +26,6 @@
 , BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_SEMANTICS \
 )
 
-#define BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_OP_HEADER_OPENER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_SHORT_NAME \
- ) \
-, / \
-)
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_OP_RESULT_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_OP_HEADER_OPENER() \
-, BOOST_PP_CAT \
- ( \
- BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_SHORT_NAME \
- , _result_fwd.hpp> \
- ) \
-)
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_OP_RESULT_HEADER()
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_BEGIN()
 
 #endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,7 +12,7 @@
 #ifndef BOOST_ACT_INTERLOCKED_DETAIL_IMPL_IS_READY_FOR_CLEANUP
 #error Improper incusion of interlocked implementation header. Contact Boost.
 #else
-#undef BOOST_ACT_INTERLOCKED_DETAIL_IMPL_HEADER_RAW
+#undef BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE
 #undef BOOST_ACT_INTERLOCKED_DETAIL_IMPL_HAS_CUSTOM_IMPL
 #undef BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SHORT_NAME
 #undef BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SEMANTICS

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_end_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_end_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_end_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -17,60 +17,37 @@
 #else
 
 #include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/stringize.hpp>
 
 #if BOOST_ACT_INTERLOCKED_DETAIL_IMPL_HAS_CUSTOM_IMPL
 
-#define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_HEADER_RAW() \
-BOOST_PP_CAT \
+#define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE() \
+BOOST_PP_STRINGIZE \
 ( \
   BOOST_PP_CAT \
   ( \
     BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SHORT_NAME \
- ) \
- , /detail/ \
- ) \
-, BOOST_PP_CAT \
- ( \
- BOOST_PP_CAT \
     ( \
- BOOST_PP_CAT \
- ( \
- BOOST_ACT_INTERLOCKED_DETAIL_IMPL_FULL_NAME \
- , _ \
- ) \
- , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_NAME \
+ BOOST_ACT_INTERLOCKED_DETAIL_IMPL_FULL_NAME \
+ , _ \
     ) \
- , .hpp> \
+ , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_NAME \
   ) \
 )
 
 #else
 
-#define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_HEADER_RAW() \
-BOOST_PP_CAT \
+#define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE() \
+BOOST_PP_STRINGIZE \
 ( \
   BOOST_PP_CAT \
   ( \
     BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SHORT_NAME \
- ) \
- , /detail/ \
- ) \
-, BOOST_PP_CAT \
- ( \
- BOOST_PP_CAT \
     ( \
- BOOST_PP_CAT \
- ( \
- BOOST_ACT_INTERLOCKED_DETAIL_IMPL_FULL_NAME \
- , _ \
- ) \
- , default \
+ BOOST_ACT_INTERLOCKED_DETAIL_IMPL_FULL_NAME \
+ , _ \
     ) \
- , .hpp> \
+ , default \
   ) \
 )
 
@@ -78,6 +55,6 @@
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_IS_READY_FOR_CLEANUP
 
-#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_HEADER_RAW()
+#include <boost/act/interlocked/detail/impl_includer/impl_includer.hpp>
 
 #endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/add_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/add_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/add_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/assign_if_was
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/assign_if_was 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/assign_if_was/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/bitand_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/bitand_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/bitand_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/bitor_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/bitor_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/bitor_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/compl_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/compl_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/compl_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/decrement
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/decrement 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/decrement/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/divide_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/divide_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/divide_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1,3 @@
+#include <boost/preprocessor/stringize.hpp>
+
+#include BOOST_PP_STRINGIZE( BOOST_ACT_INTERLOCKED_DETAIL_IMPL_SHORT_NAME )

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/increment
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/increment 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/increment/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/lshift_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/lshift_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/lshift_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/mod_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/mod_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/mod_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/multiply_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/multiply_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/multiply_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/negate_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/negate_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/negate_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/retrieve/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/rshift_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/rshift_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/rshift_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/subtract_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/subtract_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/subtract_assign/detail/impl_includer.hpp>

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/xor_assign
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/xor_assign 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include <boost/act/interlocked/xor_assign/detail/impl_includer.hpp>

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -14,6 +14,7 @@
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/act/interlocked/detail/cas_support.hpp>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
@@ -43,22 +44,11 @@
     detail::are_valid_assign_style_params< TargetType >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SHORT_NAME
- , _result
- )
- < TargetType >
+, remove_cv< TargetType >
>
 ::type
 BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FULL_NAME( TargetType& target )
 {
- typedef typename remove_volatile< TargetType >::type type;
- typedef typename BOOST_PP_CAT
- ( BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_SHORT_NAME
- , _result
- )
- < TargetType >
- ::type result_type;
-
   return detail::impl_meta
          <
            detail::BOOST_PP_CAT

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_fwd_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_fwd_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_forwarder_fwd_dont_include.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,6 +11,7 @@
 #else
 
 #include <boost/preprocessor/cat.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/utility/enable_if.hpp>
 
@@ -37,10 +38,7 @@
     detail::are_valid_assign_style_params< TargetType >
   , mpl::not_< detail::is_interlocked_bool< TargetType > >
>
-, BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_SHORT_NAME
- , _result
- )
- < TargetType >
+, remove_cv< TargetType >
>
 ::type
 BOOST_ACT_INTERLOCKED_DETAIL_FORWARDER_FWD_FULL_NAME( TargetType& target );

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_result_impl.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_result_impl.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unary_result_impl.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -14,7 +14,6 @@
 
 #ifdef BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA
 
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_OP_HEADER() \

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unsupported_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/unsupported_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,41 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_DETAIL_OP_NAME
-#error Improper incusion of interlocked implementation header. Contact Boost.
-#else
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA
-#error Improper incusion of interlocked implementation header. Contact Boost.
-#else
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_OP_NAME, _result )
-{
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , INTERLOCKED_OPERATIONS_NOT_DEFINED_FOR_THIS_SYSTEM
- , ()
- );
-};
-
-} } }
-
-#endif
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/detail/divide_assign_operation.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/divide_assign/divide_assign_result.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,8 +12,6 @@
 #include <boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 #include <boost/act/detail/next.hpp>
-#include <boost/act/interlocked/increment/detail/increment_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -21,15 +19,8 @@
 struct increment_acquire_default_impl
 {
   template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< increment_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
+ static typename remove_cv< TargetType >::type execute( TargetType& target )
   {
- typedef typename result< TargetType >::type result_type;
     typedef typename remove_cv< TargetType >::type unqualified_type;
 
     unqualified_type new_value;
@@ -39,14 +30,13 @@
                                                , act::detail::next( curr_value )
                                                , curr_value
                                                )
- .old_value()
             )
          != curr_value
        ; curr_value = new_value
        );
 
     // Note: new_value is old value here
- return result_type( new_value );
+ return new_value;
   }
 };
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,55 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_ACQUIRE_DEF_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_ACQUIRE_DEF_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was_acquire.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/detail/next.hpp>
-#include <boost/act/interlocked/increment/detail/increment_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct increment_acquire_default_impl
-{
- template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< increment_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
- {
- typedef typename result< TargetType >::type result_type;
- typedef typename remove_cv< TargetType >::type unqualified_type;
-
- unqualified_type new_value;
-
- for( unqualified_type curr_value = retrieve( target )
- ; ( new_value = assign_if_was_acquire( target
- , act::detail::next( curr_value )
- , curr_value
- )
- .old_value()
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is old value here
- return result_type( new_value );
- }
-};
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,8 +12,6 @@
 #include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 #include <boost/act/detail/next.hpp>
-#include <boost/act/interlocked/increment/detail/increment_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -21,15 +19,8 @@
 struct increment_default_impl
 {
   template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< increment_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
+ static typename remove_cv< TargetType >::type execute( TargetType& target )
   {
- typedef typename result< TargetType >::type result_type;
     typedef typename remove_cv< TargetType >::type unqualified_type;
 
     unqualified_type new_value;
@@ -39,14 +30,13 @@
                                        , act::detail::next( curr_value )
                                        , curr_value
                                        )
- .old_value()
             )
          != curr_value
        ; curr_value = new_value
        );
 
     // Note: new_value is old value here
- return result_type( new_value );
+ return new_value;
   }
 };
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,55 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_DEFAULT_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_DEFAULT_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/detail/next.hpp>
-#include <boost/act/interlocked/increment/detail/increment_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct increment_default_impl
-{
- template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< increment_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
- {
- typedef typename result< TargetType >::type result_type;
- typedef typename remove_cv< TargetType >::type unqualified_type;
-
- unqualified_type new_value;
-
- for( unqualified_type curr_value = retrieve( target )
- ; ( new_value = assign_if_was( target
- , act::detail::next( curr_value )
- , curr_value
- )
- .old_value()
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is old value here
- return result_type( new_value );
- }
-};
-
-} } } }
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,40 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_OPERATION_HPP
-
-#include <boost/act/detail/next.hpp>
-#include <boost/act/detail/prior.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct increment_operation
-{
- struct new_from_old
- {
- template< typename ValueType >
- static ValueType execute( ValueType& value )
- {
- return act::detail::next( value );
- }
- };
-
- struct old_from_new
- {
- template< typename ValueType >
- static ValueType execute( ValueType& value )
- {
- return act::detail::prior( value );
- }
- };
-};
-
-} } } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default (from r7096, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,8 +12,6 @@
 #include <boost/act/interlocked/assign_if_was/assign_if_was_release.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 #include <boost/act/detail/next.hpp>
-#include <boost/act/interlocked/increment/detail/increment_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -21,15 +19,8 @@
 struct increment_release_default_impl
 {
   template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< increment_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
+ static typename remove_cv< TargetType >::type execute( TargetType& target )
   {
- typedef typename result< TargetType >::type result_type;
     typedef typename remove_cv< TargetType >::type unqualified_type;
 
     unqualified_type new_value;
@@ -39,14 +30,13 @@
                                                , act::detail::next( curr_value )
                                                , curr_value
                                                )
- .old_value()
             )
          != curr_value
        ; curr_value = new_value
        );
 
     // Note: new_value is old value here
- return result_type( new_value );
+ return new_value;
   }
 };
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,55 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_RELEASE_DEF_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_INCREMENT_DETAIL_INCREMENT_RELEASE_DEF_IMPL_HPP
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was_release.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/detail/next.hpp>
-#include <boost/act/interlocked/increment/detail/increment_operation.hpp>
-#include <boost/act/interlocked/detail/interlocked_result.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct increment_release_default_impl
-{
- template< typename TargetType >
- struct result
- : detail::unary_interlocked_result_returns_old< increment_operation
- , TargetType
- > {};
-
- template< typename TargetType >
- static typename result< TargetType >::type execute( TargetType& target )
- {
- typedef typename result< TargetType >::type result_type;
- typedef typename remove_cv< TargetType >::type unqualified_type;
-
- unqualified_type new_value;
-
- for( unqualified_type curr_value = retrieve( target )
- ; ( new_value = assign_if_was_release( target
- , act::detail::next( curr_value )
- , curr_value
- )
- .old_value()
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is old value here
- return result_type( new_value );
- }
-};
-
-} } } }
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/increment_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/increment_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_INCREMENT_INCREMENT_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_INCREMENT_INCREMENT_RESULT_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_RESULT_INFO increment
-
-#include <boost/act/interlocked/detail/unary_result_impl.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/increment_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/increment_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_INCREMENT_INCREMENT_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_INCREMENT_INCREMENT_RESULT_FWD_HPP
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-struct increment_result;
-
-} } }
-
-#endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/has_interlocked_operations.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/has_interlocked_operations.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/has_interlocked_operations.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -28,7 +28,9 @@
 
 #include <boost/config.hpp>
 
-#ifdef BOOST_WINDOWS
+// ToDo: Fix
+
+//#ifdef BOOST_WINDOWS
 
 #include <boost/act/interlocked/integer/types.hpp>
 #include <boost/mpl/and.hpp>
@@ -41,7 +43,8 @@
 
 namespace boost { namespace act { namespace interlocked {
 
-#if WINVER < 0x0600
+// ToDo: Fix
+#if 1
 
 template< typename Type >
 struct is_interlocked_type
@@ -81,7 +84,7 @@
 
 } } } // namespace boost
 
-#endif
+//#endif
 
 #endif
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -17,7 +17,7 @@
 
 // ToDo: Add in toggles for 64-bit
 
-#ifdef BOOST_WINDOWS
+//#ifdef BOOST_WINDOWS
 
 #include <windows.h>
 #include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
@@ -44,7 +44,8 @@
 typedef ::std::size_t size_t;
 typedef ::std::ptrdiff_t ptrdiff_t;
 
-#if WINVER < 0x0600
+//#if WINVER < 0x0600
+#if 1
 
 typedef unsigned long bits_least8_t;
 typedef unsigned long bits_least16_t;
@@ -103,7 +104,7 @@
 
 } } } // namespace boost
 
-#endif
+//#endif
 
 #endif
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,5 @@
 #include <boost/act/interlocked/lshift_assign/lshift_assign.hpp>
 #include <boost/act/interlocked/lshift_assign/lshift_assign_acquire.hpp>
 #include <boost/act/interlocked/lshift_assign/lshift_assign_release.hpp>
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result.hpp>
 
 #endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_LSHIFT_ASSIGN_LSHIFT_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_LSHIFT_ASSIGN_LSHIFT_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result/lshift_assign_result.hpp>
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result/lshift_assign_acquire_result.hpp>
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result/lshift_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/lshift_assign/lshift_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_LSHIFT_ASSIGN_LSHIFT_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_LSHIFT_ASSIGN_LSHIFT_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result/lshift_assign_result_fwd.hpp>
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result/lshift_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/lshift_assign/lshift_assign_result/lshift_assign_release_result_fwd.hpp>
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/detail/mod_assign_operation.hpp
==============================================================================

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/mod_assign/mod_assign_result.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/detail/multiply_assign_operation.hpp
==============================================================================

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/multiply_assign/multiply_assign_result.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/detail/negate_assign_operation.hpp
==============================================================================

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/negate_assign/negate_assign_result.hpp
==============================================================================

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,4 @@
 #include <boost/act/interlocked/rshift_assign/rshift_assign.hpp>
 #include <boost/act/interlocked/rshift_assign/rshift_assign_acquire.hpp>
 #include <boost/act/interlocked/rshift_assign/rshift_assign_release.hpp>
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result.hpp>
-
 #endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/detail/rshift_assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/detail/rshift_assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_RSHIFTTRACT_ASSIGN_DETAIL_RSHIFTTRACT_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_RSHIFTTRACT_ASSIGN_DETAIL_RSHIFTTRACT_ASSIGN_OPERATION_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_OPERATION_INFO \
-( rshift_assign, >>, no_inverse(BOOST_PP_NIL) )
-
-#include <boost/act/interlocked/detail/binary_operation.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_RSHIFT_ASSIGN_RSHIFT_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_RSHIFT_ASSIGN_RSHIFT_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result/rshift_assign_result.hpp>
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result/rshift_assign_acquire_result.hpp>
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result/rshift_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/rshift_assign/rshift_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_RSHIFT_ASSIGN_RSHIFT_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_RSHIFT_ASSIGN_RSHIFT_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result/rshift_assign_result_fwd.hpp>
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result/rshift_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/rshift_assign/rshift_assign_result/rshift_assign_release_result_fwd.hpp>
-
-#endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,5 @@
 #include <boost/act/interlocked/subtract_assign/subtract_assign.hpp>
 #include <boost/act/interlocked/subtract_assign/subtract_assign_acquire.hpp>
 #include <boost/act/interlocked/subtract_assign/subtract_assign_release.hpp>
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result.hpp>
 
 #endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_acquire_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_acquire_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_ACQUIRE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_ACQUIRE_DEFAULT_HPP
-
-#include <boost/act/interlocked/detail/binary_default.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
-( subtract_assign, acquire, - )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_DEFAULT_HPP
-
-#include <boost/act/interlocked/detail/binary_default.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
-( subtract_assign, full_barrier, - )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_SUBTRACT_ASSIGN_DETAIL_SUBTRACT_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_SUBTRACT_ASSIGN_DETAIL_SUBTRACT_ASSIGN_OPERATION_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_OPERATION_INFO \
-( subtract_assign, -, inverse(+) )
-
-#include <boost/act/interlocked/detail/binary_operation.hpp>
-
-#endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_release_default
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_release_default 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1,19 @@
+/*=============================================================================
+ Copyright (c) 2006, 2007 Matthew Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_RELEASE_DEFAULT_HPP
+#define BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_RELEASE_DEFAULT_HPP
+
+#include <boost/act/interlocked/detail/binary_default.hpp>
+
+#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
+( subtract_assign, release, - )
+
+#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
+
+#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_release_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/detail/subtract_assign_release_default.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_RELEASE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_SUB_ASSIGN_DETAIL_SUB_ASSIGN_RELEASE_DEFAULT_HPP
-
-#include <boost/act/interlocked/detail/binary_default.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
-( subtract_assign, release, - )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT()
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_SUBTRACT_ASSIGN_SUBTRACT_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_SUBTRACT_ASSIGN_SUBTRACT_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result/subtract_assign_result.hpp>
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result/subtract_assign_acquire_result.hpp>
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result/subtract_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/subtract_assign/subtract_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_SUBTRACT_ASSIGN_SUBTRACT_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_SUBTRACT_ASSIGN_SUBTRACT_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result/subtract_assign_result_fwd.hpp>
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result/subtract_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result/subtract_assign_release_result_fwd.hpp>
-
-#endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,6 +12,5 @@
 #include <boost/act/interlocked/xor_assign/xor_assign.hpp>
 #include <boost/act/interlocked/xor_assign/xor_assign_acquire.hpp>
 #include <boost/act/interlocked/xor_assign/xor_assign_release.hpp>
-#include <boost/act/interlocked/xor_assign/xor_assign_result.hpp>
 
 #endif

Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/detail/impl_includer.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/detail/impl_includer.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -0,0 +1 @@
+#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_LOCAL_INCLUDE()

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/detail/xor_assign_operation.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/detail/xor_assign_operation.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_XORTRACT_ASSIGN_DETAIL_XORTRACT_ASSIGN_OPERATION_HPP
-#define BOOST_ACT_INTERLOCKED_XORTRACT_ASSIGN_DETAIL_XORTRACT_ASSIGN_OPERATION_HPP
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_OPERATION_INFO \
-( xor_assign, ^, inverse(^) )
-
-#include <boost/act/interlocked/detail/binary_operation.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_XOR_ASSIGN_XOR_ASSIGN_RESULT_HPP
-#define BOOST_ACT_INTERLOCKED_XOR_ASSIGN_XOR_ASSIGN_RESULT_HPP
-
-#include <boost/act/interlocked/xor_assign/xor_assign_result/xor_assign_result.hpp>
-#include <boost/act/interlocked/xor_assign/xor_assign_result/xor_assign_acquire_result.hpp>
-#include <boost/act/interlocked/xor_assign/xor_assign_result/xor_assign_release_result.hpp>
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/xor_assign/xor_assign_result_fwd.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_XOR_ASSIGN_XOR_ASSIGN_RESULT_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_XOR_ASSIGN_XOR_ASSIGN_RESULT_FWD_HPP
-
-#include <boost/act/interlocked/xor_assign/xor_assign_result/xor_assign_result_fwd.hpp>
-#include <boost/act/interlocked/xor_assign/xor_assign_result/xor_assign_acquire_result_fwd.hpp>
-#include <boost/act/interlocked/xor_assign/xor_assign_result/xor_assign_release_result_fwd.hpp>
-
-#endif

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/add_assign/add_assign_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/add_assign/add_assign_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/add_assign/add_assign_helper.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -13,7 +13,7 @@
 #include "../integral_additive_helper.hpp"
 #include "../operation_result_checker.hpp"
 #include <boost/act/interlocked/add_assign.hpp>
-#include <boost/act/interlocked/add_assign/add_assign_result.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 #include <boost/preprocessor/cat.hpp>
 
 struct BOOST_PP_CAT( interlocked_
@@ -21,7 +21,7 @@
                    )
 {
   template< typename LeftType, typename RightType >
- typename boost::act::interlocked::add_assign_result< LeftType >::type
+ typename boost::remove_cv< LeftType >::type
   operator ()( LeftType& left, RightType const& right ) const
   {
     return boost::act::interlocked::BOOST_ACT_TEST_INTERLOCKED_NAME

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -8,15 +8,15 @@
 
 #include "../assign_retrieve_helper.hpp"
 #include <boost/thread/barrier.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 #include "assign_helper.hpp"
 
 #include <boost/act/interlocked/assign/assign_acquire.hpp>
-#include <boost/act/interlocked/assign/assign_result.hpp>
 
 struct interlocked_assign_acquire_set
 {
   template< typename VariableType, typename SourceType >
- typename boost::act::interlocked::assign_result< VariableType >::type
+ typename boost::remove_cv< VariableType >::type
   operator ()( VariableType& var, SourceType new_val ) const
   {
     return boost::act::interlocked::assign_acquire( var, new_val );

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_helper.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,7 +11,6 @@
 
 #include <boost/test/minimal.hpp>
 #include <boost/foreach.hpp>
-#include <boost/act/interlocked/assign/assign_result.hpp>
 #include <boost/act/interlocked/integer/types.hpp>
 #include <boost/thread/mutex.hpp>
 #include <boost/thread/thread.hpp>
@@ -19,6 +18,7 @@
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <set>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include "../random_uint8.hpp"
 
@@ -40,18 +40,15 @@
   {
     barrier_m.wait(); // Wait until all other perform_assigns are ready
 
- typedef typename boost::act::interlocked::assign_result< DestinationType >
- ::type result_type;
+ typedef typename boost::remove_cv< DestinationType >::type result_type;
 
     result_type const result = assign_m( destination_m, source_m );
 
- BOOST_CHECK( result.new_value() == source_m );
-
     {
       boost::mutex::scoped_lock const lock( mutex_m );
 
       typename ContainerType::iterator it
- = container_m.find( result.old_value() );
+ = container_m.find( result );
 
       BOOST_CHECK( it != container_m.end() );
 

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -11,7 +11,6 @@
 
 #include <boost/test/minimal.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
-#include <boost/act/interlocked/assign/assign_result.hpp>
 #include <boost/thread/thread.hpp>
 #include <boost/thread/barrier.hpp>
 #include <boost/act/interlocked/assign.hpp>
@@ -72,7 +71,7 @@
 struct interlocked_assign_set
 {
   template< typename VariableType, typename SourceType >
- typename boost::act::interlocked::assign_result< VariableType >::type
+ typename boost::remove_cv< VariableType >::type
   operator ()( VariableType& var, SourceType new_val ) const
   {
     return boost::act::interlocked::assign( var, new_val );

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/bitand_assign/bitand_assign.cpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/bitand_assign/bitand_assign.cpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/bitand_assign/bitand_assign.cpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -9,7 +9,6 @@
 #include <boost/test/minimal.hpp>
 #include "../operation_result_checker.hpp"
 #include <boost/act/interlocked/bitand_assign.hpp>
-#include <boost/act/interlocked/bitand_assign/bitand_assign_result.hpp>
 
 struct interlocked_bitand_assign
 {

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -46,19 +46,6 @@
 
 #undef BOOST_ACT_TEST_DETAIL_BASIC_BINARY_OP
 
-template< typename ValueType, typename ResultType >
-void check_operation_results( ValueType old_value, ValueType expected_value
- , ResultType result
- )
-{
- ValueType const result_old_value = result.old_value(),
- result_new_value = result.new_value();
-
- BOOST_CHECK( result_old_value == old_value );
- BOOST_CHECK( result_new_value == expected_value );
-}
-
-
 template< typename SingleThreadOperationType, typename OperationType >
 void brute_operation_result_checker( SingleThreadOperationType single_thread_op
                                    , OperationType operation
@@ -72,9 +59,7 @@
   {
     uint_least8_t const copy = test_var;
 
- check_operation_results( copy, single_thread_op( copy, val )
- , operation( test_var, val )
- );
+ BOOST_CHECK( operation( test_var, val ) == copy );
   }
 }
 

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/subtract_assign/subtract_assign_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/subtract_assign/subtract_assign_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/subtract_assign/subtract_assign_helper.hpp 2007-06-21 01:41:24 EDT (Thu, 21 Jun 2007)
@@ -12,7 +12,7 @@
 #include "../integral_additive_helper.hpp"
 #include "../operation_result_checker.hpp"
 #include <boost/act/interlocked/subtract_assign.hpp>
-#include <boost/act/interlocked/subtract_assign/subtract_assign_result.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 #include <boost/preprocessor/cat.hpp>
 
 struct BOOST_PP_CAT( interlocked_
@@ -20,7 +20,7 @@
                    )
 {
   template< typename LeftType, typename RightType >
- typename boost::act::interlocked::subtract_assign_result< LeftType >::type
+ typename boost::remove_cv< LeftType >::type
   operator ()( LeftType& left, RightType const& right ) const
   {
     return boost::act::interlocked::BOOST_ACT_TEST_INTERLOCKED_NAME


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk