Boost logo

Boost-Commit :

From: matt_calabrese_at_[hidden]
Date: 2007-06-21 14:34:53


Author: matt_calabrese
Date: 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
New Revision: 7123
URL: http://svn.boost.org/trac/boost/changeset/7123

Log:

Added:
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp
      - copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp
      - copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default
      - copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows
      - copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp
      - copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp
Removed:
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp
Text files modified:
   sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp | 12 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp | 2
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp | 14 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp | 8
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 | 14 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default | 6
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows | 16 +-
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp | 2
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86 | 17 +--
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp | 1
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp | 165 ++++++---------------------------------
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp | 4
   sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp | 17 ---
   sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp | 15 ++-
   sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp | 5
   sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp | 2
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 | 2
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp | 16 +-
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp | 6
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp | 3
   sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp | 2
   21 files changed, 99 insertions(+), 230 deletions(-)

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -9,7 +9,7 @@
 #ifndef BOOST_ACT_CONSUMER_POLICY_SCOPED_CONCURRENT_CONSUMER_DETAIL_SCOPED_C_HPP
 #define BOOST_ACT_CONSUMER_POLICY_SCOPED_CONCURRENT_CONSUMER_DETAIL_SCOPED_C_HPP
 
-#include <boost/act/interlocked/assign/assign_acquire.hpp>
+#include <boost/act/interlocked/assign/assign.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 
 #include <boost/thread/thread.hpp>
@@ -198,9 +198,9 @@
 
   ~concurrent_scoped_consumer_nonvoid_impl()
   {
- interlocked::assign_acquire( internal_data_m.is_triggered_to_close_m
- , true
- );
+ interlocked::assign( internal_data_m.is_triggered_to_close_m
+ , true
+ );
 
     consumer_thread_m.join();
   }
@@ -208,7 +208,7 @@
   template< typename Type >
   typename enable_if
   <
- mpl::apply< constraint, Type >
+ typename mpl::apply< constraint, Type >::type
>
   ::type operator ()( Type& arg )
   {
@@ -218,7 +218,7 @@
   template< typename Type >
   typename enable_if
   <
- mpl::apply< constraint, Type const >
+ typename mpl::apply< constraint, Type const >::type
>
   ::type operator ()( Type const& arg )
   {

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -10,6 +10,6 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_HPP
 
 #include <boost/act/interlocked/assign/assign.hpp>
-#include <boost/act/interlocked/assign/assign_acquire.hpp>
+#include <boost/act/interlocked/assign/assign_release.hpp>
 
 #endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,81 +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_ACQUIRE_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
-
-#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>
-
-#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 \
-( assign, acquire )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_BEGIN()
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , mpl::not_< detail::is_interlocked_bool< TargetType > >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
-{
- return detail::impl_meta< detail::assign_acquire_impl, TargetType >
- ::execute( destination, new_value );
-
-}
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , detail::is_interlocked_bool< TargetType >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
-{
- typedef typename remove_cv< TargetType >::type result_type;
-
- return result_type
- (
- interlocked::assign_acquire
- ( interlocked_bool_internal_value( destination )
- , static_cast< bool >( new_value )
- )
- != 0
- );
-}
-
-} } }
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_END()
-
-#endif

Deleted: 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 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,51 +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_ACQUIRE_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/act/interlocked/detail/cas_support.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 {
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , mpl::not_< detail::is_interlocked_bool< TargetType > >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , detail::is_interlocked_bool< TargetType >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
-
-} } }
-
-#endif

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp (from r7120, /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_release.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,8 +6,8 @@
     http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_HPP
 
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/remove_volatile.hpp>
@@ -25,7 +25,7 @@
 #include <boost/act/interlocked/detail/impl.hpp>
 
 #define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
-( assign, acquire )
+( assign, release )
 
 #include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_BEGIN()
 
@@ -42,9 +42,9 @@
 , remove_cv< TargetType >
>
 ::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
+assign_release( TargetType& destination, SourceType const& new_value )
 {
- return detail::impl_meta< detail::assign_acquire_impl, TargetType >
+ return detail::impl_meta< detail::assign_release_impl, TargetType >
          ::execute( destination, new_value );
 
 }
@@ -60,13 +60,13 @@
 , remove_cv< TargetType >
>
 ::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
+assign_release( TargetType& destination, SourceType const& new_value )
 {
   typedef typename remove_cv< TargetType >::type result_type;
 
   return result_type
          (
- interlocked::assign_acquire
+ interlocked::assign_release
            ( interlocked_bool_internal_value( destination )
            , static_cast< bool >( new_value )
            )

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp (from r7120, /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_release_fwd.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,8 +6,8 @@
     http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_FWD_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_FWD_HPP
 
 #include <boost/utility/enable_if.hpp>
 
@@ -31,7 +31,7 @@
 , remove_cv< TargetType >
>
 ::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
+assign_release( TargetType& destination, SourceType const& new_value );
 
 template< typename TargetType, typename SourceType >
 typename lazy_enable_if
@@ -44,7 +44,7 @@
 , remove_cv< TargetType >
>
 ::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
+assign_release( TargetType& destination, SourceType const& new_value );
 
 } } }
 

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default 2007-06-21 14:34:51 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_ACQUIRE_DEFAULT_HPP
-#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 >
- static typename remove_cv< LeftType >::type
- execute( LeftType& left, RightType& right )
- {
- return interlocked::assign( left, right );
- }
-};
-
-
-} } } }
-
-#endif

Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,97 +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/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct assign_acquire_impl
-{
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , remove_cv< LeftType >
- >
- ::type
- execute( LeftType& left, RightType right )
- {
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return static_cast< unqualified_type >
- (
- InterlockedExchangeAcquire
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
- );
- }
-
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , remove_cv< LeftType >
- >
- ::type
- execute( LeftType& left, RightType right )
- {
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return static_cast< unqualified_type >
- (
- InterlockedExchange64Acquire
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- )
- );
- }
-
- template< typename LeftType, typename RightType >
- static typename remove_cv< LeftType* >::type
- execute( LeftType*& left, RightType right )
- {
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return static_cast< unqualified_type >
- (
- InterlockedExchangePointerAcquire
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- )
- );
- }
-};
-
-} } } }
-
-#endif
-
-#endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -15,26 +15,22 @@
 
 struct assign_impl
 {
- template< typename LeftType, typename RightType, typename OldType >
+ template< typename LeftType, typename RightType >
   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)
+ "xchg %0, (%1)":
+ "+r"( right ):
+ "r"( &left ):
       "memory", "cc" // clobbers
     );
 
- return old_value;
+ return right;
   }
 };
 

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default (from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,15 +6,15 @@
     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
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_DEFAULT_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_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
+struct assign_release_default_impl
 {
   template< typename LeftType, typename RightType >
   static typename remove_cv< LeftType >::type

Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows (from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,19 +6,19 @@
     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
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_VISTA_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_VISTA_HPP
 
 #include <boost/config.hpp>
 
 #ifndef BOOST_WINDOWS
-#error Windows interlocked assign acquire included on non-Windows OS.
+#error Windows interlocked assign release included on non-Windows OS.
 #else
 
 #include <windows.h>
 
 #if WINVER < 0x0600
-#error Windows interlocked assign acquire included on pre-vista Windows OS.
+#error Windows interlocked assign release included on pre-vista Windows OS.
 #else
 
 #include <boost/utility/enable_if.hpp>
@@ -27,7 +27,7 @@
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
 template< typename ResultType, typename UnqualifiedType >
-struct assign_acquire_impl
+struct assign_release_impl
 {
   template< typename LeftType, typename RightType >
   static
@@ -43,7 +43,7 @@
 
     return static_cast< unqualified_type >
            (
- InterlockedExchangeAcquire
+ InterlockedExchange
              ( reinterpret_cast< LONG volatile* >( &left )
              , reinterpret_cast< LONG const& >( right )
              )
@@ -64,7 +64,7 @@
 
     return static_cast< unqualified_type >
            (
- InterlockedExchange64Acquire
+ InterlockedExchange64
              ( reinterpret_cast< LONGLONG volatile* >( &left )
              , reinterpret_cast< LONGLONG const& >( right )
              )
@@ -79,7 +79,7 @@
 
     return static_cast< unqualified_type >
            (
- InterlockedExchangePointerAcquire
+ InterlockedExchangePointer
              ( const_cast< void* volatile* >
                (
                  reinterpret_cast< void const volatile* volatile* >( &left )

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -10,6 +10,6 @@
 #define BOOST_ACT_INTERLOCKED_ASSIGN_FWD_HPP
 
 #include <boost/act/interlocked/assign/assign_fwd.hpp>
-#include <boost/act/interlocked/assign/assign_acquire_fwd.hpp>
+#include <boost/act/interlocked/assign/assign_release_fwd.hpp>
 
 #endif

Modified: 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_gcc_x86 (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -23,23 +23,20 @@
   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
+ // ToDo: Very important!!!! This currently is just release semantics!
+ // Rewrite to have both acquire and release semantics!!!
     __asm__ __volatile__
     (
         "sfence\n\t"
         "lock\n\t"
- "cmpxchgl %1, %2":
- "=a"( old_value ):
- "q"( right ), "m"( left ), "0"( old ):
+ "cmpxchgl %1, %2\n\t"
+ /*"lfence\n\t"*/:
+ "=a" (old):
+ "q" (right), "m" (left), "0" (old):
         "memory", "cc"
- "lfence\n\t"
     );
 
- return old_value;
+ return old;
   }
 };
 

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -10,7 +10,6 @@
 #ifndef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_READY_FOR_CLEANUP
 //#error Improper incusion of interlocked implementation header. Contact Boost.
 #else
-#undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER
 #undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER
 #undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_OP
 #undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME

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 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -35,47 +35,15 @@
                    , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
                    )
 
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER \
-BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_AFFIX_ \
- , BOOST_PP_TUPLE_ELEM \
- ( 3, 1 \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
- ) \
- ) \
-== BOOST_ACT_INTERLOCKED_DETAIL_AFFIX_full_barrier
-
-#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>
-
-#else
-
-#define BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_INFO_FWD_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( / \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, _fwd.hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_INFO_FWD_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_INFO_FWD_HEADER
-
-#endif
+// ToDo: Change to only include appropriate versions of assign_if_was
+#include <boost/act/interlocked/assign_if_was.hpp>
+#include <boost/act/interlocked/retrieve.hpp>
 
 #include <boost/type_traits/remove_cv.hpp>
 
 namespace boost { namespace act { namespace interlocked { namespace detail {
 
+// ToDo: Change to minimize memory barriers (don't always use full barrier form)
 struct BOOST_PP_CAT
        (
          BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
@@ -84,117 +52,34 @@
 {
   template< typename TargetType, typename OperandType >
   static typename remove_cv< TargetType >::type
- execute( TargetType& target, OperandType& operand );
+ execute( TargetType& target, OperandType operand )
+ {
+ typedef typename remove_cv< TargetType >::type unqualified_type;
+ unqualified_type new_value;
+
+ for( unqualified_type curr_value = interlocked::retrieve( target )
+ ; ( new_value = interlocked::assign_if_was
+ ( target
+ , curr_value
+ BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_OP
+ operand
+ , curr_value
+ )
+ )
+ != curr_value
+ ; curr_value = new_value
+ );
+
+ // Note: new_value is the old value here
+ return new_value;
+ }
 };
 
 } } } }
 
-#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>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename TargetType, typename OperandType >
-typename remove_cv< TargetType >::type
-BOOST_PP_CAT
-(
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
-, _default_impl
-)
-::
-execute( TargetType& target, OperandType& operand )
-{
- typedef typename remove_cv< TargetType >::type unqualified_type;
- unqualified_type new_value;
-
- for( unqualified_type curr_value = interlocked::retrieve( target )
- ; ( new_value = interlocked::assign_if_was
- ( target
- , curr_value
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_OP
- operand
- , curr_value
- )
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is the old value here
- return new_value;
-}
-
-} } } }
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER() BOOST_PP_NIL
-
 #define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_READY_FOR_CLEANUP
 
 #include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
 #include <boost/act/interlocked/retrieve.hpp>
 
-#else
-
-#define BOOST_ACT_INTERLOCKED_DEFAULT_IS_FWD_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( / \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, _fwd.hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_DEFAULT_IS_FWD_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_DEFAULT_IS_FWD_HEADER
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename TargetType, typename OperandType >
-typename remove_cv< TargetType >::type
-BOOST_PP_CAT
-(
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
-, _default_impl
-)
-::execute( TargetType& target, OperandType& operand )
-{
- return interlocked
- ::BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME( target
- , operand
- );
-
-}
-
-} } } }
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( / \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, .hpp> \
-)
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_READY_FOR_CLEANUP
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER()
-
-#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 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -11,7 +11,7 @@
 
 #include <boost/act/config/interlocked/has_interlocked_operations.hpp>
 
-#ifdef BOOST_ACT_HAS_INTERLOCKED_OPERATIONS
+//#ifdef BOOST_ACT_HAS_INTERLOCKED_OPERATIONS
 
 #include <boost/config.hpp>
 
@@ -106,6 +106,6 @@
 
 //#endif
 
-#endif
+//#endif
 
 #endif

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -27,20 +27,7 @@
 
 #else
 
-#include <boost/preprocessor/cat.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_RETRIEVE_CUSTOM_IMPL_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( <boost/act/interlocked/retrieve/detail/retrieve_ \
- , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_NAME \
- ) \
-, .hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_RETRIEVE_CUSTOM_IMPL_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_DETAIL_RETRIEVE_CUSTOM_IMPL_HEADER
+#error Custom retrieve functionality is not yet implemented
 
 #endif
 
@@ -58,7 +45,7 @@
   typedef typename remove_volatile< TargetType >::type unqualified_type;
 
   return detail::retrieve_impl< unqualified_type, unqualified_type >
- ::execute( target );
+ ::execute( target );
 }
 
 } } }

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -79,7 +79,7 @@
   }
 public:
   bool empty() const { return begin_m == end_m; }
- static size_type max_size() { return max_size_c; }
+ static size_type max_size() { return MaxSize; }
   bool full() const { return end_m == begin_m + 1; }
 private:
   struct no_arg_factory
@@ -109,7 +109,7 @@
 
     pointer const next_end = this->next_end();
 
- factory.template apply< Type >( next_end - 1 );
+ factory.template apply< value_type >( next_end - 1 );
 
     end_m = next_end;
   }
@@ -133,14 +133,17 @@
   const_reference back() const { return *( end_m - 1 ); }
 private:
   pointer raw_begin() { return reinterpret_cast< pointer >( &buffer_m ); }
- const_pointer raw_begin() const { return reinterpret_cast<Type*>( &buffer_m ); }
+ const_pointer raw_begin() const
+ {
+ return reinterpret_cast< const_pointer >( &buffer_m );
+ }
 
- pointer pivot_end() { return raw_begin() + max_size_c; }
- const_pointer pivot_end() const { return raw_begin() + max_size_c; }
+ pointer pivot_end() { return raw_begin() + MaxSize; }
+ const_pointer pivot_end() const { return raw_begin() + MaxSize; }
 private:
   pointer next( pointer curr )
   {
- return ( curr == raw_begin() + max_size_c - 1 )
+ return ( curr == raw_begin() + MaxSize - 1 )
            ? raw_begin()
            : begin_m + 1;
   }

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -165,7 +165,10 @@
   const_reference back() const { return *( end_m - 1 ); }
 private:
   pointer raw_begin() { return reinterpret_cast< pointer >( &buffer_m ); }
- const_pointer raw_begin() const { return reinterpret_cast<Type*>( &buffer_m ); }
+ const_pointer raw_begin() const
+ {
+ return reinterpret_cast< const_pointer >( &buffer_m );
+ }
 
   pointer pivot_end() { return raw_begin() + MaxSize; }
   const_pointer pivot_end() const { return raw_begin() + MaxSize; }

Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -367,4 +367,4 @@
 
 } } }
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -17,7 +17,7 @@
         : [ run interlocked/retrieve.cpp ]
 
           [ run interlocked/assign/assign.cpp ]
- [ run interlocked/assign/assign_acquire.cpp ]
+ [ run interlocked/assign/assign_release.cpp ]
 
           [ run interlocked/assign_if_was/assign_if_was.cpp ]
           [ run interlocked/assign_if_was/assign_if_was_acquire.cpp ]

Deleted: 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 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,49 +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)
-==============================================================================*/
-
-#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>
-
-struct interlocked_assign_acquire_set
-{
- template< typename VariableType, typename SourceType >
- typename boost::remove_cv< VariableType >::type
- operator ()( VariableType& var, SourceType new_val ) const
- {
- return boost::act::interlocked::assign_acquire( var, new_val );
- }
-};
-
-int test_main( int, char *[] )
-{
-
- test_assign_retrieve_no_threads( single_thread_basic_get()
- , interlocked_assign_acquire_set()
- );
-
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
- );
-
- {
- boost::barrier barrier( 2 );
-
- test_assign_retrieve_with_threads( barrier
- , interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
- );
- }
-
- brute_assign_test( interlocked_assign_acquire_set() );
-
- return 0;
-}
\ No newline at end of file

Copied: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp (from r7120, /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_release.cpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -11,15 +11,15 @@
 #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_release.hpp>
 
-struct interlocked_assign_acquire_set
+struct interlocked_assign_release_set
 {
   template< typename VariableType, typename SourceType >
   typename boost::remove_cv< VariableType >::type
   operator ()( VariableType& var, SourceType new_val ) const
   {
- return boost::act::interlocked::assign_acquire( var, new_val );
+ return boost::act::interlocked::assign_release( var, new_val );
   }
 };
 
@@ -27,11 +27,11 @@
 {
 
   test_assign_retrieve_no_threads( single_thread_basic_get()
- , interlocked_assign_acquire_set()
+ , interlocked_assign_release_set()
                                  );
 
   test_assign_retrieve_no_threads( interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
+ , interlocked_assign_release_set()
                                  );
 
   {
@@ -39,11 +39,11 @@
 
     test_assign_retrieve_with_threads( barrier
                                      , interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
+ , interlocked_assign_release_set()
                                      );
   }
 
- brute_assign_test( interlocked_assign_acquire_set() );
+ brute_assign_test( interlocked_assign_release_set() );
 
   return 0;
-}
\ No newline at end of file
+}

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 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -38,11 +38,9 @@
 template< typename GetType, typename SetType >
 void test_assign_retrieve_no_threads( GetType get, SetType set )
 {
- using namespace boost::act::interlocked;
+ ::boost::act::interlocked::uint_least8_t test_var = 0;
 
- uint_least8_t test_var = 0;
-
- BOOST_FOREACH( uint_least8_t val, random_uint8 )
+ BOOST_FOREACH( ::boost::act::interlocked::uint_least8_t val, random_uint8 )
   {
     set( test_var, val );
     BOOST_CHECK( get( test_var ) == val );

Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -15,8 +15,9 @@
 #include <boost/thread/thread.hpp>
 #include <boost/thread/barrier.hpp>
 #include <boost/integer_traits.hpp>
+#include <boost/act/interlocked/retrieve.hpp>
 
-#include "../random_uint8.hpp"
+#include "random_uint8.hpp"
 
 /*
 Logic for additive tests:

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 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -19,7 +19,7 @@
 #include <boost/foreach.hpp>
 #include <boost/act/interlocked/integer/types.hpp>
 
-#include "../random_uint8.hpp"
+#include "random_uint8.hpp"
 
 #include <boost/preprocessor/cat.hpp>
 


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