|
Boost-Commit : |
From: matt_calabrese_at_[hidden]
Date: 2007-06-22 15:56:43
Author: matt_calabrese
Date: 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
New Revision: 7131
URL: http://svn.boost.org/trac/boost/changeset/7131
Log:
Added:
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_load.hpp
- copied unchanged from r7120, /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_store.hpp
- copied unchanged from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_write.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_load_vista
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_store_vista
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_vista
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/detail/
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/detail/fence_vista
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_load.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_load_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_store.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_store_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load/
- copied from r7071, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load.hpp
- copied, changed from r7123, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load/detail/impl_includer.hpp
- copied unchanged from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/impl_includer.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load/detail/load_default.hpp
- copied, changed from r7128, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/retrieve_default.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load_fwd.hpp
- copied, changed from r7071, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_load_helper.hpp
- copied, changed from r7123, /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/load.cpp
- copied, changed from r7103, /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/retrieve.cpp
Removed:
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/load/detail/retrieve_default.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/retrieve.cpp
Text files modified:
sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked.hpp | 2 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp | 6 +++---
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 | 16 ++++++++--------
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/default_unary_impl.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve | 2 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp | 16 ++++++++--------
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/interlocked_result.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default | 4 ++--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load.hpp | 16 ++++++++--------
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load/detail/load_default.hpp | 16 ++++++++--------
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load_fwd.hpp | 6 +++---
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify.hpp | 2 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_acquire.hpp | 2 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_release.hpp | 2 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk | 2 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 | 2 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/test/consumer_policy_tester.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign.cpp | 10 +++++-----
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp | 10 +++++-----
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_if_was/assign_if_was_helper.hpp | 12 ++++++------
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_load_helper.hpp | 14 +++++++-------
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp | 4 ++--
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/load.cpp | 10 +++++-----
32 files changed, 105 insertions(+), 105 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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#define BOOST_ACT_CONSUMER_POLICY_SCOPED_CONCURRENT_CONSUMER_DETAIL_SCOPED_C_HPP
#include <boost/act/interlocked/assign/assign.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#include <boost/thread/thread.hpp>
@@ -72,7 +72,7 @@
for(;;)
{
bool const is_triggered_to_close
- = interlocked::retrieve( body_m.is_triggered_to_close_m );
+ = interlocked::load( body_m.is_triggered_to_close_m );
size_type queue_size = body_m.queue_m.size();
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -13,6 +13,6 @@
#include <boost/act/interlocked/assign_if_was.hpp>
#include <boost/act/interlocked/decrement.hpp>
#include <boost/act/interlocked/increment.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#endif
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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>
+#include <boost/act/interlocked/compiler_fence/compiler_fence_load.hpp>
+#include <boost/act/interlocked/compiler_fence/compiler_fence_store.hpp>
#endif
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_read.hpp
==============================================================================
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/compiler_fence_write.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_load_vista
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_load_vista 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -0,0 +1,24 @@
+/*=============================================================================
+ 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_DETAIL_COMPILER_FENCE_LD_VISTA_HPP
+#define BOOST_ACT_INTERLOCKED_COMPILER_FENCE_DETAIL_COMPILER_FENCE_LD_VISTA_HPP
+
+// ToDo: Don't include windows.h
+#include <windows.h>
+
+namespace boost { namespace act { namespace interlocked { namespace detail {
+
+inline void compiler_fence_load_impl()
+{
+ _ReadBarrier();
+}
+
+} } } }
+
+#endif
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_store_vista
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_store_vista 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -0,0 +1,24 @@
+/*=============================================================================
+ 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_DETAIL_COMPILER_FENCE_STR_VISTA_HPP
+#define BOOST_ACT_INTERLOCKED_COMPILER_FENCE_DETAIL_COMPILER_FENCE_STR_VISTA_HPP
+
+// ToDo: Don't include windows.h
+#include <windows.h>
+
+namespace boost { namespace act { namespace interlocked { namespace detail {
+
+inline void compiler_fence_store_impl()
+{
+ _WriteBarrier();
+}
+
+} } } }
+
+#endif
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_vista
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/compiler_fence/detail/compiler_fence_vista 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -0,0 +1,24 @@
+/*=============================================================================
+ 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_DETAIL_COMPILER_FENCE_VISTA_HPP
+#define BOOST_ACT_INTERLOCKED_COMPILER_FENCE_DETAIL_COMPILER_FENCE_VISTA_HPP
+
+// ToDo: Don't include windows.h
+#include <windows.h>
+
+namespace boost { namespace act { namespace interlocked { namespace detail {
+
+inline void compiler_fence_impl()
+{
+ _ReadWriteBarrier();
+}
+
+} } } }
+
+#endif
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_acquire_default 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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/interlocked/load.hpp>
#include <boost/act/detail/prior.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -25,7 +25,7 @@
unqualified_type new_value;
- for( unqualified_type curr_value = retrieve( target )
+ for( unqualified_type curr_value = load( target )
; ( new_value = assign_if_was_acquire
( target
, act::detail::prior( curr_value )
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_default 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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/interlocked/load.hpp>
#include <boost/act/detail/prior.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -25,7 +25,7 @@
unqualified_type new_value;
- for( unqualified_type curr_value = retrieve( target )
+ for( unqualified_type curr_value = load( target )
; ( new_value = assign_if_was
( target
, act::detail::prior( curr_value )
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/decrement/detail/decrement_release_default 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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/interlocked/load.hpp>
#include <boost/act/detail/prior.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -25,7 +25,7 @@
unqualified_type new_value;
- for( unqualified_type curr_value = retrieve( target )
+ for( unqualified_type curr_value = load( target )
; ( new_value = assign_if_was_release
( target
, act::detail::prior( curr_value )
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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -37,7 +37,7 @@
// 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/act/interlocked/load.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -57,7 +57,7 @@
typedef typename remove_cv< TargetType >::type unqualified_type;
unqualified_type new_value;
- for( unqualified_type curr_value = interlocked::retrieve( target )
+ for( unqualified_type curr_value = interlocked::load( target )
; ( new_value = interlocked::assign_if_was
( target
, curr_value
@@ -80,6 +80,6 @@
#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>
+#include <boost/act/interlocked/load.hpp>
#endif
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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -54,7 +54,7 @@
#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_ARITHMETIC_RETURN \
old_value
-#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_RETRIEVE_INFO \
+#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_LOAD_INFO \
BOOST_PP_TUPLE_ELEM( BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_NUM_PARAMS \
, 3, BOOST_ACT_INTERLOCKED_DETAIL_OPERATION_SUPPORT \
)
@@ -88,7 +88,7 @@
#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_multiply_assign 11
#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_negate_assign 12
#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_not_assign 13
-#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_retrieve 14
+#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_load 14
#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_subtract_assign 15
#define BOOST_ACT_INTERLOCKED_DETAIL_FUNCTION_ID_xor_assign 16
@@ -168,12 +168,12 @@
, 2 \
)
-#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_custom_retrieve 0
-#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_volatile_retrieve 1
+#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_custom_load 0
+#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_volatile_load 1
-#define BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_RETRIEVE \
+#define BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_LOAD \
BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_ \
- , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_RETRIEVE_INFO \
+ , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_LOAD_INFO \
)
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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -11,7 +11,7 @@
// Note: BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT has the form
//
-// ( name, valid_bit_count_for_cas, cas_return, retrieve_info
+// ( name, valid_bit_count_for_cas, cas_return, load_info
// , custom_implementations
// )
//
@@ -23,11 +23,11 @@
// -or-
// success_value, meaning it returns true if the operation was successful
//
-// Where retrieve_info is either:
-// volatile_retrieve, meaning interlocked::retrieve is automatically
+// Where load_info is either:
+// volatile_load, meaning interlocked::load is automatically
// implemented to access the passed object with added volatile qualification
// -or-
-// custom_retrieve, meaning interlocked::retrieve does not have a default
+// custom_load, meaning interlocked::load does not have a default
// implementation and must be provided by the implementor
//
// Where custom_implementations is a preprocessor sequence of tuples of the form
@@ -48,13 +48,13 @@
#include <windows.h>
- // ToDo: Only use volatile_retrieve if VC 8.0 or higher
+ // ToDo: Only use volatile_load if VC 8.0 or higher
#if WINVER < 0x0600 // Windows prior to vista
// Note: Same name as vista windows on purpose
#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA \
- ( windows,(32),old_value,volatile_retrieve \
+ ( windows,(32),old_value,volatile_load \
, ( ( assign, ( full_fence ) ) ) \
( ( assign_if_was, ( full_fence ) ) ) \
)
@@ -63,7 +63,7 @@
// Note: Same name as pre-vista windows on purpose
#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA \
- ( windows,(32)(64),old_value,volatile_retrieve \
+ ( windows,(32)(64),old_value,volatile_load \
, ( ( assign, ( full_fence )( acquire ) ) ) \
( ( assign_if_was, ( full_fence )( acquire )( release ) ) ) \
)
@@ -76,7 +76,7 @@
// Note: Same name as x64 on purpose
#define BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA \
- ( gcc_x86,(32),old_value,volatile_retrieve \
+ ( gcc_x86,(32),old_value,volatile_load \
, ( ( assign, ( full_fence ) ) ) \
( ( assign_if_was, ( full_fence ) ) ) \
)
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/default_unary_impl.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/default_unary_impl.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/default_unary_impl.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -36,7 +36,7 @@
// ToDo: Fix to account for acquire/release
#include <boost/act/interlocked/assign_if_was/assign.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
namespace boost { namespace act { namespace interlocked { namespace detail {
@@ -46,7 +46,7 @@
template< typename TargetType >
static ResultType execute( TargetType& target )
{
- for( UnqualifiedType curr_value = retrieve( target ),
+ for( UnqualifiedType curr_value = load( target ),
new_value = curr_value
; curr_value = assign_if_was( target, ++new_value, curr_value )
; new_value = curr_value
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/impl_includer/retrieve 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -1 +1 @@
-#include <boost/act/interlocked/retrieve/detail/impl_includer.hpp>
+#include <boost/act/interlocked/load/detail/impl_includer.hpp>
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -11,7 +11,7 @@
// Note: BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT has the form
//
-// ( name, valid_bit_count_for_cas, cas_return, retrieve_info
+// ( name, valid_bit_count_for_cas, cas_return, load_info
// , custom_implementations
// )
//
@@ -23,11 +23,11 @@
// -or-
// success_value, meaning it returns true if the operation was successful
//
-// Where retrieve_info is either:
-// volatile_retrieve, meaning interlocked::retrieve is automatically
+// Where load_info is either:
+// volatile_load, meaning interlocked::load is automatically
// implemented to access the passed object with added volatile qualification
// -or-
-// custom_retrieve, meaning interlocked::retrieve does not have a default
+// custom_load, meaning interlocked::load does not have a default
// implementation and must be provided by the implementor
//
// Where custom_implementations is a preprocessor sequence of tuples of the form
@@ -46,13 +46,13 @@
#ifdef BOOST_WINDOWS
- // ToDo: Only use volatile_retrieve if VC 8.0 or higher
+ // ToDo: Only use volatile_load if VC 8.0 or higher
#if WINVER < 0x0600 // Windows prior to vista
// Note: Same name as vista windows on purpose
#define BOOST_ACT_INTERLOCKED_DETAIL_OPERATION_SUPPORT \
- ( windows,(32),old_value,volatile_retrieve \
+ ( windows,(32),old_value,volatile_load \
, ( ( assign, ( full_fence ) ) ) \
( ( assign_if_was, ( full_fence ) ) ) \
)
@@ -61,7 +61,7 @@
// Note: Same name as pre-vista windows on purpose
#define BOOST_ACT_INTERLOCKED_DETAIL_OPERATION_SUPPORT \
- ( windows,(32)(64),old_value,volatile_retrieve \
+ ( windows,(32)(64),old_value,volatile_load \
, ( ( assign, ( full_fence )( acquire ) ) ) \
( ( assign_if_was, ( full_fence )( acquire )( release ) ) ) \
)
@@ -74,7 +74,7 @@
// Note: Same name as x64 on purpose
#define BOOST_ACT_INTERLOCKED_DETAIL_OPERATION_SUPPORT \
- ( gcc_x86,(32),old_value,volatile_retrieve \
+ ( gcc_x86,(32),old_value,volatile_load \
, ( ( assign, ( full_fence ) ) ) \
( ( assign_if_was, ( full_fence ) ) ) \
)
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/interlocked_result.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/interlocked_result.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/interlocked_result.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -196,7 +196,7 @@
value_type old_value() const
{
BOOST_MPL_ASSERT_MSG( ( is_same< ValueInfo, detail::old_value >::value )
- , CANNOT_RETRIEVE_OLD_VALUE_ON_THIS_OPERATING_SYSTEM
+ , CANNOT_LOAD_OLD_VALUE_ON_THIS_OPERATING_SYSTEM
, ()
);
@@ -206,7 +206,7 @@
value_type new_value() const
{
BOOST_MPL_ASSERT_MSG( ( is_same< ValueInfo, detail::old_value >::value )
- , CANNOT_RETRIEVE_NEW_VALUE_ON_THIS_OPERATING_SYSTEM
+ , CANNOT_LOAD_NEW_VALUE_ON_THIS_OPERATING_SYSTEM
, ()
);
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/detail/fence_vista
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/detail/fence_vista 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -0,0 +1,24 @@
+/*=============================================================================
+ 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_FENCE_DETAIL_FENCE_VISTA_HPP
+#define BOOST_ACT_INTERLOCKED_FENCE_DETAIL_FENCE_VISTA_HPP
+
+// ToDo: Don't include windows.h
+#include <windows.h>
+
+namespace boost { namespace act { namespace interlocked { namespace detail {
+
+inline void fence_impl()
+{
+ MemoryBarrier();
+}
+
+} } } }
+
+#endif
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_fwd.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_load.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_load_fwd.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_store.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence/fence_store_fwd.hpp
==============================================================================
Added: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/fence_fwd.hpp
==============================================================================
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_acquire_default 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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/interlocked/load.hpp>
#include <boost/act/detail/next.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -25,7 +25,7 @@
unqualified_type new_value;
- for( unqualified_type curr_value = retrieve( target )
+ for( unqualified_type curr_value = load( target )
; ( new_value = assign_if_was_acquire( target
, act::detail::next( curr_value )
, curr_value
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_default 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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/interlocked/load.hpp>
#include <boost/act/detail/next.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -25,7 +25,7 @@
unqualified_type new_value;
- for( unqualified_type curr_value = retrieve( target )
+ for( unqualified_type curr_value = load( target )
; ( new_value = assign_if_was( target
, act::detail::next( curr_value )
, curr_value
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/increment/detail/increment_release_default 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#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/interlocked/load.hpp>
#include <boost/act/detail/next.hpp>
#include <boost/type_traits/remove_cv.hpp>
@@ -25,7 +25,7 @@
unqualified_type new_value;
- for( unqualified_type curr_value = retrieve( target )
+ for( unqualified_type curr_value = load( target )
; ( new_value = assign_if_was_release( target
, act::detail::next( curr_value )
, curr_value
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load.hpp (from r7123, /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/load.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,28 +6,28 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_RETRIEVE_HPP
-#define BOOST_ACT_INTERLOCKED_RETRIEVE_HPP
+#ifndef BOOST_ACT_INTERLOCKED_LOAD_HPP
+#define BOOST_ACT_INTERLOCKED_LOAD_HPP
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/remove_volatile.hpp>
#include <boost/act/interlocked/detail/cas_support.hpp>
-#if BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_RETRIEVE
+#if BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_LOAD
-#include <boost/act/interlocked/retrieve/detail/retrieve_default.hpp>
+#include <boost/act/interlocked/load/detail/load_default.hpp>
namespace boost { namespace act { namespace interlocked { namespace detail {
template< typename ResultType, typename UnqualifiedType >
-struct retrieve_impl : retrieve_default_impl< ResultType, UnqualifiedType > {};
+struct load_impl : load_default_impl< ResultType, UnqualifiedType > {};
} } } }
#else
-#error Custom retrieve functionality is not yet implemented
+#error Custom load functionality is not yet implemented
#endif
@@ -40,11 +40,11 @@
, remove_volatile< TargetType >
>
::type
-retrieve( TargetType const& target )
+load( TargetType const& target )
{
typedef typename remove_volatile< TargetType >::type unqualified_type;
- return detail::retrieve_impl< unqualified_type, unqualified_type >
+ return detail::load_impl< unqualified_type, unqualified_type >
::execute( target );
}
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load/detail/load_default.hpp (from r7128, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/retrieve_default.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/retrieve_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load/detail/load_default.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,19 +6,19 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_RETRIEVE_DETAIL_RETRIEVE_DEFAULT_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_RETRIEVE_DETAIL_RETRIEVE_DEFAULT_IMPL_HPP
+#ifndef BOOST_ACT_INTERLOCKED_LOAD_DETAIL_LOAD_DEFAULT_IMPL_HPP
+#define BOOST_ACT_INTERLOCKED_LOAD_DETAIL_LOAD_DEFAULT_IMPL_HPP
#include <boost/act/interlocked/detail/cas_support.hpp>
#ifdef BOOST_ACT_INTERLOCKED_DETAIL_OPERATION_SUPPORT
-#if BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_RETRIEVE // If: volatile impl
+#if BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_LOAD // If: volatile impl
namespace boost { namespace act { namespace interlocked { namespace detail {
template< typename ResultType, typename UnqualifiedType >
-struct retrieve_default_impl
+struct load_default_impl
{
template< typename TargetType >
static ResultType execute( TargetType volatile& target )
@@ -29,7 +29,7 @@
} } } }
-#else // Else: Custom interlocked retrieve for this system (no default)
+#else // Else: Custom interlocked load for this system (no default)
#include <boost/mpl/assert.hpp>
#include <boost/mpl/always.hpp>
@@ -39,7 +39,7 @@
namespace boost { namespace act { namespace interlocked { namespace detail {
template< typename ResultType, typename UnqualifiedType >
-struct retrieve_default_impl
+struct load_default_impl
{
template< typename TargetType >
static ResultType execute( TargetType& target )
@@ -47,7 +47,7 @@
BOOST_MPL_ASSERT_MSG
(
( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , NO_DEFAULT_INTERLOCKED_RETRIEVE_IMPLEMENTATION_FOR_THIS_SYSTEM
+ , NO_DEFAULT_INTERLOCKED_LOAD_IMPLEMENTATION_FOR_THIS_SYSTEM
, ()
);
}
@@ -67,7 +67,7 @@
namespace boost { namespace act { namespace interlocked { namespace detail {
template< typename ResultType, typename UnqualifiedType >
-struct retrieve_default_impl
+struct load_default_impl
{
template< typename TargetType >
static ResultType execute( TargetType& target )
Deleted: /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/retrieve_default.hpp
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve/detail/retrieve_default.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
+++ (empty file)
@@ -1,89 +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_RETRIEVE_DETAIL_RETRIEVE_DEFAULT_IMPL_HPP
-#define BOOST_ACT_INTERLOCKED_RETRIEVE_DETAIL_RETRIEVE_DEFAULT_IMPL_HPP
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-
-#ifdef BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_DATA
-
-#if BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_RETRIEVE // If: volatile impl
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct retrieve_default_impl
-{
- template< typename TargetType >
- static ResultType execute( TargetType volatile& target )
- {
- return target;
- }
-};
-
-} } } }
-
-#else // Else: Custom interlocked retrieve for this system (no default)
-
-#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 {
-
-template< typename ResultType, typename UnqualifiedType >
-struct retrieve_default_impl
-{
- template< typename TargetType >
- static ResultType execute( TargetType& target )
- {
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , NO_DEFAULT_INTERLOCKED_RETRIEVE_IMPLEMENTATION_FOR_THIS_SYSTEM
- , ()
- );
- }
-};
-
-} } } }
-
-#endif
-
-#else // Else: No interlocked operations for this system
-
-#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 {
-
-template< typename ResultType, typename UnqualifiedType >
-struct retrieve_default_impl
-{
- template< typename TargetType >
- static ResultType execute( TargetType& target )
- {
- BOOST_MPL_ASSERT_MSG
- (
- ( mpl::apply< mpl::always< mpl::false_ >, TargetType >::type::value )
- , INTERLOCKED_OPERATIONS_NOT_DEFINED_FOR_THIS_SYSTEM
- , ()
- );
- }
-};
-
-
-} } } }
-
-#endif
-
-#endif
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load_fwd.hpp (from r7071, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve_fwd.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/load_fwd.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_RETRIEVE_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_RETRIEVE_FWD_HPP
+#ifndef BOOST_ACT_INTERLOCKED_LOAD_FWD_HPP
+#define BOOST_ACT_INTERLOCKED_LOAD_FWD_HPP
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/remove_volatile.hpp>
@@ -21,7 +21,7 @@
, remove_volatile< TargetType >
>
::type
-retrieve( TargetType const& target );
+load( TargetType const& target );
} } }
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -28,7 +28,7 @@
typedef typename remove_cv< TargetType >::type unqualified_type;
unqualified_type new_value;
- for( unqualified_type curr_value = interlocked::retrieve( target )
+ for( unqualified_type curr_value = interlocked::load( target )
; ( new_value = interlocked::assign_if_was
( target
, operation( curr_value )
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_acquire.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_acquire.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_acquire.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -28,7 +28,7 @@
typedef typename remove_cv< TargetType >::type unqualified_type;
unqualified_type new_value;
- for( unqualified_type curr_value = interlocked::retrieve( target )
+ for( unqualified_type curr_value = interlocked::load( target )
; ( new_value = interlocked::assign_if_was_acquire
( target
, operation( curr_value )
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_release.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_release.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/modify/modify_release.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -28,7 +28,7 @@
typedef typename remove_cv< TargetType >::type unqualified_type;
unqualified_type new_value;
- for( unqualified_type curr_value = interlocked::retrieve( target )
+ for( unqualified_type curr_value = interlocked::load( target )
; ( new_value = interlocked::assign_if_was_release
( target
, operation( curr_value )
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
+++ (empty file)
@@ -1,53 +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_RETRIEVE_HPP
-#define BOOST_ACT_INTERLOCKED_RETRIEVE_HPP
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-
-#if BOOST_ACT_INTERLOCKED_DETAIL_HAS_VOLATILE_RETRIEVE
-
-#include <boost/act/interlocked/retrieve/detail/retrieve_default.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct retrieve_impl : retrieve_default_impl< ResultType, UnqualifiedType > {};
-
-} } } }
-
-#else
-
-#error Custom retrieve functionality is not yet implemented
-
-#endif
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-typename lazy_enable_if
-<
- detail::are_valid_assign_style_params< TargetType >
-, remove_volatile< TargetType >
->
-::type
-retrieve( TargetType const& target )
-{
- typedef typename remove_volatile< TargetType >::type unqualified_type;
-
- return detail::retrieve_impl< unqualified_type, unqualified_type >
- ::execute( target );
-}
-
-} } }
-
-#endif
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve_fwd.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
+++ (empty file)
@@ -1,28 +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_RETRIEVE_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_RETRIEVE_FWD_HPP
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType >
-typename lazy_enable_if
-<
- detail::are_valid_assign_style_params< TargetType >
-, remove_volatile< TargetType >
->
-::type
-retrieve( TargetType const& target );
-
-} } }
-
-#endif
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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -21,7 +21,7 @@
#include <boost/act/interlocked/increment/increment_release.hpp>
#include <boost/act/interlocked/decrement/decrement_release.hpp>
#include <boost/act/interlocked/integer/types.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#include <cstddef>
#include <new>
@@ -90,7 +90,7 @@
{
// Safe get insures an added volatile qualifier and that the type can safely
// be read in whole when another thread is writing to it.
- return static_cast< size_type >( interlocked::retrieve( curr_size_m ) );
+ return static_cast< size_type >( interlocked::load( curr_size_m ) );
}
bool empty() const { return size() == 0; }
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -128,7 +128,7 @@
memory semantics.
]
] ]
-[[`retrieve( iv )`] [`I`] [Returns the value of `iv`.
+[[`load( iv )`] [`I`] [Returns the value of `iv`.
[tablenote This template is
used for retrieving the
value of an object with the
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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -14,7 +14,7 @@
;
test-suite act/interlocked
- : [ run interlocked/retrieve.cpp ]
+ : [ run interlocked/load.cpp ]
[ run interlocked/assign/assign.cpp ]
[ run interlocked/assign/assign_release.cpp ]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/consumer_policy_tester.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/consumer_policy_tester.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/consumer_policy_tester.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -21,7 +21,7 @@
#include <boost/mpl/if.hpp>
#include <boost/act/interlocked/increment/increment_acquire.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#include <boost/act/interlocked/integer/types.hpp>
#include <boost/act/consumer_policy/scoped_consumer.hpp>
@@ -173,7 +173,7 @@
consumer( long_process( test_val ) );
}
- if( interlocked::retrieve( test_val ) != 2 )
+ if( interlocked::load( test_val ) != 2 )
BOOST_ERROR( "Scoped Consumer does not complete execution prior to." );
/*
using namespace boost::act;
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign.cpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign.cpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign.cpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,25 +6,25 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#include "../assign_retrieve_helper.hpp"
+#include "../assign_load_helper.hpp"
#include <boost/thread/barrier.hpp>
#include "assign_helper.hpp"
int test_main( int, char *[] )
{
- test_assign_retrieve_no_threads( single_thread_basic_get()
+ test_assign_load_no_threads( single_thread_basic_get()
, interlocked_assign_set()
);
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
+ test_assign_load_no_threads( interlocked_load_get()
, interlocked_assign_set()
);
{
boost::barrier barrier( 2 );
- test_assign_retrieve_with_threads( barrier
- , interlocked_retrieve_get()
+ test_assign_load_with_threads( barrier
+ , interlocked_load_get()
, interlocked_assign_set()
);
}
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,7 +6,7 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#include "../assign_retrieve_helper.hpp"
+#include "../assign_load_helper.hpp"
#include <boost/thread/barrier.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include "assign_helper.hpp"
@@ -26,19 +26,19 @@
int test_main( int, char *[] )
{
- test_assign_retrieve_no_threads( single_thread_basic_get()
+ test_assign_load_no_threads( single_thread_basic_get()
, interlocked_assign_release_set()
);
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
+ test_assign_load_no_threads( interlocked_load_get()
, interlocked_assign_release_set()
);
{
boost::barrier barrier( 2 );
- test_assign_retrieve_with_threads( barrier
- , interlocked_retrieve_get()
+ test_assign_load_with_threads( barrier
+ , interlocked_load_get()
, interlocked_assign_release_set()
);
}
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_if_was/assign_if_was_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_if_was/assign_if_was_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_if_was/assign_if_was_helper.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -10,7 +10,7 @@
#define BOOST_ACT_TEST_INTERLOCKED_ASSIGN_IF_WAS_HELPER_HPP
#include <boost/test/minimal.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#include <boost/thread/thread.hpp>
#include <boost/thread/xtime.hpp>
#include <boost/act/interlocked/assign.hpp>
@@ -26,7 +26,7 @@
//
// In primary thread, wait several seconds to give the opposing thread
// a decent amount of time to set the value, then yield,
-// then use retrieve.
+// then use load.
//
// Repeat similar tests with different threads.
//
@@ -35,7 +35,7 @@
// particularly in a multicore environment.
template< typename GetType, typename SetType >
-void test_assign_retrieve_no_threads( GetType get, SetType set )
+void test_assign_load_no_threads( GetType get, SetType set )
{
using namespace boost::act::interlocked;
@@ -85,13 +85,13 @@
}
};
-struct interlocked_retrieve_get
+struct interlocked_load_get
{
template< typename VariableType >
typename boost::remove_cv< VariableType >::type
operator ()( VariableType& var ) const
{
- return boost::act::interlocked::retrieve( var );
+ return boost::act::interlocked::load( var );
}
};
@@ -155,7 +155,7 @@
}
template< typename GetType, typename SetType >
-void test_assign_retrieve_with_threads( GetType get, SetType set )
+void test_assign_load_with_threads( GetType get, SetType set )
{
using namespace boost::act::interlocked;
Copied: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_load_helper.hpp (from r7123, /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_load_helper.hpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,11 +6,11 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_TEST_INTERLOCKED_ASSIGN_RETRIEVE_HELPER_HPP
-#define BOOST_ACT_TEST_INTERLOCKED_ASSIGN_RETRIEVE_HELPER_HPP
+#ifndef BOOST_ACT_TEST_INTERLOCKED_ASSIGN_LOAD_HELPER_HPP
+#define BOOST_ACT_TEST_INTERLOCKED_ASSIGN_LOAD_HELPER_HPP
#include <boost/test/minimal.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#include <boost/thread/thread.hpp>
#include <boost/thread/barrier.hpp>
#include <boost/act/interlocked/assign.hpp>
@@ -36,7 +36,7 @@
// particularly in a multicore environment.
template< typename GetType, typename SetType >
-void test_assign_retrieve_no_threads( GetType get, SetType set )
+void test_assign_load_no_threads( GetType get, SetType set )
{
::boost::act::interlocked::uint_least8_t test_var = 0;
@@ -76,13 +76,13 @@
}
};
-struct interlocked_retrieve_get
+struct interlocked_load_get
{
template< typename VariableType >
typename boost::remove_cv< VariableType >::type
operator ()( VariableType& var ) const
{
- return boost::act::interlocked::retrieve( var );
+ return boost::act::interlocked::load( var );
}
};
@@ -138,7 +138,7 @@
}
template< typename BarrierType, typename GetType, typename SetType >
-void test_assign_retrieve_with_threads( BarrierType& barrier
+void test_assign_load_with_threads( BarrierType& barrier
, GetType get, SetType set
)
{
Deleted: 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 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
+++ (empty file)
@@ -1,155 +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_TEST_INTERLOCKED_ASSIGN_RETRIEVE_HELPER_HPP
-#define BOOST_ACT_TEST_INTERLOCKED_ASSIGN_RETRIEVE_HELPER_HPP
-
-#include <boost/test/minimal.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
-#include <boost/thread/thread.hpp>
-#include <boost/thread/barrier.hpp>
-#include <boost/act/interlocked/assign.hpp>
-#include <boost/act/interlocked/integer/types.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/foreach.hpp>
-
-#include "random_uint8.hpp"
-
-// Note: Logic of how test are performed:
-//
-// Start with a non-volatile variable.
-//
-// Create a separate thread, in new thread, set value with
-// interlocked::assign and approach barrier (thresh 2).
-//
-// In primary thread, approach barrier, then check value.
-//
-// Repeat similar tests with different threads.
-//
-// Test will potentially have both false positives and false negatives,
-// though improper results should hopefully keep to a minimum,
-// particularly in a multicore environment.
-
-template< typename GetType, typename SetType >
-void test_assign_retrieve_no_threads( GetType get, SetType set )
-{
- ::boost::act::interlocked::uint_least8_t test_var = 0;
-
- BOOST_FOREACH( ::boost::act::interlocked::uint_least8_t val, random_uint8 )
- {
- set( test_var, val );
- BOOST_CHECK( get( test_var ) == val );
- }
-}
-
-struct single_thread_basic_set
-{
- template< typename VariableType, typename SourceType >
- void operator ()( VariableType& var, SourceType new_val ) const
- {
- var = new_val;
- }
-};
-
-struct single_thread_basic_get
-{
- template< typename VariableType >
- typename boost::remove_cv< VariableType >::type
- operator ()( VariableType& var ) const
- {
- return var;
- }
-};
-
-struct interlocked_assign_set
-{
- template< typename VariableType, typename SourceType >
- typename boost::remove_cv< VariableType >::type
- operator ()( VariableType& var, SourceType new_val ) const
- {
- return boost::act::interlocked::assign( var, new_val );
- }
-};
-
-struct interlocked_retrieve_get
-{
- template< typename VariableType >
- typename boost::remove_cv< VariableType >::type
- operator ()( VariableType& var ) const
- {
- return boost::act::interlocked::retrieve( var );
- }
-};
-
-template< typename VariableType, typename SourceType
- , typename BarrierType, typename SetType
- >
-class assign_thread_fun
-{
-public:
- assign_thread_fun( VariableType& var_init, SourceType new_val_init
- , BarrierType& barrier_init, SetType set_init
- )
- : var_m( var_init ), new_val_m( new_val_init )
- , barrier_m( barrier_init ), set_m( set_init ) {}
-public:
- void operator ()() const
- {
- set_m( var_m, new_val_m );
- barrier_m.wait();
- }
-private:
- VariableType& var_m,
- new_val_m;
- BarrierType& barrier_m;
- SetType set_m;
-};
-
-template< typename VariableType, typename SourceType
- , typename BarrierType, typename SetType
- >
-assign_thread_fun< VariableType, SourceType, BarrierType, SetType >
-make_assign_thread_fun( VariableType& var_init, SourceType new_val_init
- , BarrierType& barrier_init, SetType set_init
- )
-{
- return assign_thread_fun< VariableType, SourceType, BarrierType, SetType >
- ( var_init, new_val_init
- , barrier_init, set_init
- );
-}
-
-template< typename VariableType, typename SourceType
- , typename BarrierType, typename GetType, typename SetType
- >
-void assign_in_new_thread( VariableType& var, SourceType new_val
- , BarrierType& barrier, GetType get, SetType set
- )
-{
- boost::thread thread( make_assign_thread_fun( var, new_val, barrier, set ) );
- barrier.wait();
- BOOST_CHECK( get( var ) == new_val );
- thread.join();
-}
-
-template< typename BarrierType, typename GetType, typename SetType >
-void test_assign_retrieve_with_threads( BarrierType& barrier
- , GetType get, SetType set
- )
-{
- typedef boost::act::interlocked::uint_least8_t uint_least8_t;
-
- uint_least8_t test_var = 0;
-
- BOOST_FOREACH( uint_least8_t val, random_uint8 )
- {
- assign_in_new_thread( test_var, val, barrier, get, set );
- }
-}
-
-#endif
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-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -15,7 +15,7 @@
#include <boost/thread/thread.hpp>
#include <boost/thread/barrier.hpp>
#include <boost/integer_traits.hpp>
-#include <boost/act/interlocked/retrieve.hpp>
+#include <boost/act/interlocked/load.hpp>
#include "random_uint8.hpp"
@@ -130,7 +130,7 @@
single_thread_op( test_var_copy, val );
}
- BOOST_CHECK( boost::act::interlocked::retrieve( test_var ) == test_var_copy );
+ BOOST_CHECK( boost::act::interlocked::load( test_var ) == test_var_copy );
}
#endif
Copied: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/load.cpp (from r7103, /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/retrieve.cpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/retrieve.cpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/load.cpp 2007-06-22 15:56:39 EDT (Fri, 22 Jun 2007)
@@ -6,24 +6,24 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#include "assign_retrieve_helper.hpp"
+#include "assign_load_helper.hpp"
#include <boost/thread/barrier.hpp>
int test_main( int, char *[] )
{
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
+ test_assign_load_no_threads( interlocked_load_get()
, single_thread_basic_set()
);
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
+ test_assign_load_no_threads( interlocked_load_get()
, interlocked_assign_set()
);
{
boost::barrier barrier( 2 );
- test_assign_retrieve_with_threads( barrier
- , interlocked_retrieve_get()
+ test_assign_load_with_threads( barrier
+ , interlocked_load_get()
, interlocked_assign_set()
);
}
Deleted: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/retrieve.cpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/retrieve.cpp 2007-06-22 15:56:39 EDT (Fri, 22 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)
-==============================================================================*/
-
-#include "assign_retrieve_helper.hpp"
-#include <boost/thread/barrier.hpp>
-
-int test_main( int, char *[] )
-{
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
- , single_thread_basic_set()
- );
-
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
- , interlocked_assign_set()
- );
-
- {
- boost::barrier barrier( 2 );
-
- test_assign_retrieve_with_threads( barrier
- , interlocked_retrieve_get()
- , interlocked_assign_set()
- );
- }
-
- return 0;
-}
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