$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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