mirror of
https://github.com/boostorg/atomic.git
synced 2026-02-02 20:32:09 +00:00
Renamed make_storage_type to storage_traits.
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/classify.hpp>
|
||||
#include <boost/atomic/detail/addressof.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/bitwise_cast.hpp>
|
||||
#include <boost/atomic/detail/integral_extend.hpp>
|
||||
#include <boost/atomic/detail/operations.hpp>
|
||||
@@ -887,7 +887,7 @@ private:
|
||||
#if defined(BOOST_HAS_INTPTR_T)
|
||||
typedef uintptr_t uintptr_storage_type;
|
||||
#else
|
||||
typedef typename atomics::detail::make_storage_type< sizeof(value_type) >::type uintptr_storage_type;
|
||||
typedef typename atomics::detail::storage_traits< sizeof(value_type) >::type uintptr_storage_type;
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/classify.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/bitwise_cast.hpp>
|
||||
#include <boost/atomic/detail/integral_extend.hpp>
|
||||
#include <boost/atomic/detail/operations.hpp>
|
||||
@@ -906,7 +906,7 @@ private:
|
||||
#if defined(BOOST_HAS_INTPTR_T)
|
||||
typedef uintptr_t uintptr_storage_type;
|
||||
#else
|
||||
typedef typename atomics::detail::make_storage_type< sizeof(value_type) >::type uintptr_storage_type;
|
||||
typedef typename atomics::detail::storage_traits< sizeof(value_type) >::type uintptr_storage_type;
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/bitwise_fp_cast.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_fp_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/type_traits/is_iec559.hpp>
|
||||
#include <boost/atomic/detail/type_traits/is_integral.hpp>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/lockpool.hpp>
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/platform.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/extra_ops_generic.hpp>
|
||||
#include <boost/atomic/detail/ops_gcc_arm_common.hpp>
|
||||
@@ -97,7 +97,7 @@ struct gcc_arm_extra_operations< Base, 1u, Signed > :
|
||||
{
|
||||
typedef generic_extra_operations< Base, 1u, Signed > base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type extended_storage_type;
|
||||
typedef typename storage_traits< 4u >::type extended_storage_type;
|
||||
|
||||
static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
|
||||
{
|
||||
@@ -350,7 +350,7 @@ struct gcc_arm_extra_operations< Base, 2u, Signed > :
|
||||
{
|
||||
typedef generic_extra_operations< Base, 2u, Signed > base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type extended_storage_type;
|
||||
typedef typename storage_traits< 4u >::type extended_storage_type;
|
||||
|
||||
static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/extra_ops_generic.hpp>
|
||||
#include <boost/atomic/detail/ops_gcc_ppc_common.hpp>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <boost/cstdint.hpp>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/extra_ops_generic.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -37,7 +37,7 @@ struct extra_operations< Base, 1u, Signed, true > :
|
||||
{
|
||||
typedef generic_extra_operations< Base, 1u, Signed > base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type temp_storage_type;
|
||||
typedef typename storage_traits< 4u >::type temp_storage_type;
|
||||
|
||||
#define BOOST_ATOMIC_DETAIL_CAS_LOOP(op, original, result)\
|
||||
__asm__ __volatile__\
|
||||
@@ -419,7 +419,7 @@ struct extra_operations< Base, 2u, Signed, true > :
|
||||
{
|
||||
typedef generic_extra_operations< Base, 2u, Signed > base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type temp_storage_type;
|
||||
typedef typename storage_traits< 4u >::type temp_storage_type;
|
||||
|
||||
#define BOOST_ATOMIC_DETAIL_CAS_LOOP(op, original, result)\
|
||||
__asm__ __volatile__\
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/integral_extend.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -43,7 +43,7 @@ struct generic_extra_operations :
|
||||
{
|
||||
typedef Base base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< Size >::type emulated_storage_type;
|
||||
typedef typename storage_traits< Size >::type emulated_storage_type;
|
||||
|
||||
static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
|
||||
{
|
||||
@@ -200,7 +200,7 @@ struct generic_extra_operations< Base, Size, Signed, true > :
|
||||
{
|
||||
typedef Base base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< Size >::type emulated_storage_type;
|
||||
typedef typename storage_traits< Size >::type emulated_storage_type;
|
||||
|
||||
static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/interlocked.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/extra_ops_generic.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/interlocked.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/extra_operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/extra_ops_generic.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/bitwise_fp_cast.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/fp_operations_fwd.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/lockpool.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -33,10 +33,10 @@ namespace detail {
|
||||
template< std::size_t Size, bool Signed >
|
||||
struct emulated_operations
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = Size;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = make_storage_type< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = storage_traits< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_signed = Signed;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool full_cas_based = false;
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/integral_extend.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
@@ -33,7 +33,7 @@ struct extending_cas_based_operations :
|
||||
public Base
|
||||
{
|
||||
typedef typename Base::storage_type storage_type;
|
||||
typedef typename make_storage_type< Size >::type emulated_storage_type;
|
||||
typedef typename storage_traits< Size >::type emulated_storage_type;
|
||||
|
||||
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
|
||||
{
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
|
||||
@@ -91,7 +91,7 @@ template< bool Signed >
|
||||
struct operations< 4u, Signed > :
|
||||
public gcc_alpha_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 4u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 4u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 4u;
|
||||
@@ -601,7 +601,7 @@ template< bool Signed >
|
||||
struct operations< 8u, Signed > :
|
||||
public gcc_alpha_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 8u >::type storage_type;
|
||||
typedef typename storage_traits< 8u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 8u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 8u;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <boost/cstdint.hpp>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/integral_extend.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/ops_gcc_arm_common.hpp>
|
||||
@@ -60,7 +60,7 @@ template< bool Signed >
|
||||
struct operations< 4u, Signed > :
|
||||
public gcc_arm_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 4u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 4u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 4u;
|
||||
@@ -318,8 +318,8 @@ template< bool Signed >
|
||||
struct operations< 1u, Signed > :
|
||||
public gcc_arm_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 1u >::type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type extended_storage_type;
|
||||
typedef typename storage_traits< 1u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type extended_storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 1u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 1u;
|
||||
@@ -705,8 +705,8 @@ template< bool Signed >
|
||||
struct operations< 2u, Signed > :
|
||||
public gcc_arm_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 2u >::type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type extended_storage_type;
|
||||
typedef typename storage_traits< 2u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type extended_storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 2u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 2u;
|
||||
@@ -1103,7 +1103,7 @@ template< bool Signed >
|
||||
struct operations< 8u, Signed > :
|
||||
public gcc_arm_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 8u >::type storage_type;
|
||||
typedef typename storage_traits< 8u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 8u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 8u;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
#if (defined(__clang__) || (defined(BOOST_GCC) && (BOOST_GCC+0) >= 70000)) && (defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) || defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B))
|
||||
@@ -84,10 +84,10 @@ BOOST_FORCEINLINE BOOST_CONSTEXPR int convert_memory_order_to_gcc(memory_order o
|
||||
template< std::size_t Size, bool Signed >
|
||||
struct gcc_atomic_operations
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = Size;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = make_storage_type< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = storage_traits< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_signed = Signed;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool full_cas_based = false;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/ops_gcc_ppc_common.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -83,7 +83,7 @@ template< bool Signed >
|
||||
struct operations< 4u, Signed > :
|
||||
public gcc_ppc_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 4u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 4u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 4u;
|
||||
@@ -313,7 +313,7 @@ template< bool Signed >
|
||||
struct operations< 1u, Signed > :
|
||||
public gcc_ppc_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 1u >::type storage_type;
|
||||
typedef typename storage_traits< 1u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 1u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 1u;
|
||||
@@ -643,7 +643,7 @@ template< bool Signed >
|
||||
struct operations< 2u, Signed > :
|
||||
public gcc_ppc_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 2u >::type storage_type;
|
||||
typedef typename storage_traits< 2u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 2u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 2u;
|
||||
@@ -973,7 +973,7 @@ template< bool Signed >
|
||||
struct operations< 8u, Signed > :
|
||||
public gcc_ppc_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< 8u >::type storage_type;
|
||||
typedef typename storage_traits< 8u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 8u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 8u;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
#include <boost/atomic/detail/ops_cas_based.hpp>
|
||||
@@ -65,7 +65,7 @@ template< bool Signed >
|
||||
struct gcc_sparc_cas32 :
|
||||
public gcc_sparc_cas_base
|
||||
{
|
||||
typedef typename make_storage_type< 4u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 4u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 4u;
|
||||
@@ -149,7 +149,7 @@ template< bool Signed >
|
||||
struct gcc_sparc_cas64 :
|
||||
public gcc_sparc_cas_base
|
||||
{
|
||||
typedef typename make_storage_type< 8u >::type storage_type;
|
||||
typedef typename storage_traits< 8u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 8u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 8u;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/ops_extending_cas_based.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -60,10 +60,10 @@ template< std::size_t Size, bool Signed >
|
||||
struct gcc_sync_operations :
|
||||
public gcc_sync_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = Size;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = make_storage_type< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = storage_traits< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_signed = Signed;
|
||||
|
||||
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) || defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
|
||||
@@ -57,7 +57,7 @@ template< std::size_t Size, bool Signed, typename Derived >
|
||||
struct gcc_x86_operations :
|
||||
public gcc_x86_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
|
||||
{
|
||||
@@ -108,7 +108,7 @@ struct operations< 1u, Signed > :
|
||||
{
|
||||
typedef gcc_x86_operations< 1u, Signed, operations< 1u, Signed > > base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type temp_storage_type;
|
||||
typedef typename storage_traits< 4u >::type temp_storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 1u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 1u;
|
||||
@@ -209,7 +209,7 @@ struct operations< 2u, Signed > :
|
||||
{
|
||||
typedef gcc_x86_operations< 2u, Signed, operations< 2u, Signed > > base_type;
|
||||
typedef typename base_type::storage_type storage_type;
|
||||
typedef typename make_storage_type< 4u >::type temp_storage_type;
|
||||
typedef typename storage_traits< 4u >::type temp_storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 2u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 2u;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <boost/cstdint.hpp>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/string_ops.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace detail {
|
||||
template< bool Signed >
|
||||
struct gcc_dcas_x86
|
||||
{
|
||||
typedef typename make_storage_type< 8u >::type storage_type;
|
||||
typedef typename storage_traits< 8u >::type storage_type;
|
||||
typedef uint32_t BOOST_ATOMIC_DETAIL_MAY_ALIAS aliasing_uint32_t;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 8u;
|
||||
@@ -384,7 +384,7 @@ struct gcc_dcas_x86
|
||||
template< bool Signed >
|
||||
struct gcc_dcas_x86_64
|
||||
{
|
||||
typedef typename make_storage_type< 16u >::type storage_type;
|
||||
typedef typename storage_traits< 16u >::type storage_type;
|
||||
typedef uint64_t BOOST_ATOMIC_DETAIL_MAY_ALIAS aliasing_uint64_t;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 16u;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
#include <boost/atomic/detail/ops_cas_based.hpp>
|
||||
@@ -90,7 +90,7 @@ template< bool Signed >
|
||||
struct linux_arm_cas :
|
||||
public linux_arm_cas_base
|
||||
{
|
||||
typedef typename make_storage_type< 4u >::type storage_type;
|
||||
typedef typename storage_traits< 4u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = 4u;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = 4u;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/interlocked.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/type_traits/make_signed.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -104,10 +104,10 @@ template< std::size_t Size, bool Signed, typename Derived >
|
||||
struct msvc_arm_operations :
|
||||
public msvc_arm_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = Size;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = make_storage_type< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = storage_traits< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_signed = Signed;
|
||||
|
||||
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/interlocked.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/type_traits/make_signed.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -112,10 +112,10 @@ template< std::size_t Size, bool Signed, typename Derived >
|
||||
struct msvc_x86_operations :
|
||||
public msvc_x86_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = Size;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = make_storage_type< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = storage_traits< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_signed = Signed;
|
||||
|
||||
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
|
||||
@@ -587,7 +587,7 @@ struct operations< 2u, Signed > :
|
||||
template< bool Signed >
|
||||
struct msvc_dcas_x86
|
||||
{
|
||||
typedef typename make_storage_type< 8u >::type storage_type;
|
||||
typedef typename storage_traits< 8u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST bool full_cas_based = true;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_always_lock_free = true;
|
||||
@@ -840,7 +840,7 @@ struct operations< 8u, Signed > :
|
||||
template< bool Signed >
|
||||
struct msvc_dcas_x86_64
|
||||
{
|
||||
typedef typename make_storage_type< 16u >::type storage_type;
|
||||
typedef typename storage_traits< 16u >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST bool full_cas_based = true;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_always_lock_free = true;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#include <boost/memory_order.hpp>
|
||||
#include <boost/atomic/detail/config.hpp>
|
||||
#include <boost/atomic/detail/interlocked.hpp>
|
||||
#include <boost/atomic/detail/storage_type.hpp>
|
||||
#include <boost/atomic/detail/storage_traits.hpp>
|
||||
#include <boost/atomic/detail/operations_fwd.hpp>
|
||||
#include <boost/atomic/detail/type_traits/make_signed.hpp>
|
||||
#include <boost/atomic/capabilities.hpp>
|
||||
@@ -68,10 +68,10 @@ template< std::size_t Size, bool Signed, typename Derived >
|
||||
struct windows_operations :
|
||||
public windows_operations_base
|
||||
{
|
||||
typedef typename make_storage_type< Size >::type storage_type;
|
||||
typedef typename storage_traits< Size >::type storage_type;
|
||||
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_size = Size;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = make_storage_type< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST std::size_t storage_alignment = storage_traits< Size >::alignment;
|
||||
static BOOST_CONSTEXPR_OR_CONST bool is_signed = Signed;
|
||||
|
||||
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
* Copyright (c) 2013 - 2020 Andrey Semashev
|
||||
*/
|
||||
/*!
|
||||
* \file atomic/detail/storage_type.hpp
|
||||
* \file atomic/detail/storage_traits.hpp
|
||||
*
|
||||
* This header defines underlying types used as storage
|
||||
*/
|
||||
|
||||
#ifndef BOOST_ATOMIC_DETAIL_STORAGE_TYPE_HPP_INCLUDED_
|
||||
#define BOOST_ATOMIC_DETAIL_STORAGE_TYPE_HPP_INCLUDED_
|
||||
#ifndef BOOST_ATOMIC_DETAIL_STORAGE_TRAITS_HPP_INCLUDED_
|
||||
#define BOOST_ATOMIC_DETAIL_STORAGE_TRAITS_HPP_INCLUDED_
|
||||
|
||||
#include <cstddef>
|
||||
#include <boost/cstdint.hpp>
|
||||
@@ -63,7 +63,7 @@ BOOST_FORCEINLINE void non_atomic_load(buffer_storage< Size > const volatile& fr
|
||||
}
|
||||
|
||||
template< std::size_t Size >
|
||||
struct make_storage_type
|
||||
struct storage_traits
|
||||
{
|
||||
typedef buffer_storage< Size > type;
|
||||
|
||||
@@ -72,7 +72,7 @@ struct make_storage_type
|
||||
};
|
||||
|
||||
template< >
|
||||
struct make_storage_type< 1u >
|
||||
struct storage_traits< 1u >
|
||||
{
|
||||
typedef boost::uint8_t BOOST_ATOMIC_DETAIL_MAY_ALIAS type;
|
||||
|
||||
@@ -80,7 +80,7 @@ struct make_storage_type< 1u >
|
||||
};
|
||||
|
||||
template< >
|
||||
struct make_storage_type< 2u >
|
||||
struct storage_traits< 2u >
|
||||
{
|
||||
typedef boost::uint16_t BOOST_ATOMIC_DETAIL_MAY_ALIAS type;
|
||||
|
||||
@@ -88,7 +88,7 @@ struct make_storage_type< 2u >
|
||||
};
|
||||
|
||||
template< >
|
||||
struct make_storage_type< 4u >
|
||||
struct storage_traits< 4u >
|
||||
{
|
||||
typedef boost::uint32_t BOOST_ATOMIC_DETAIL_MAY_ALIAS type;
|
||||
|
||||
@@ -96,7 +96,7 @@ struct make_storage_type< 4u >
|
||||
};
|
||||
|
||||
template< >
|
||||
struct make_storage_type< 8u >
|
||||
struct storage_traits< 8u >
|
||||
{
|
||||
typedef boost::uint64_t BOOST_ATOMIC_DETAIL_MAY_ALIAS type;
|
||||
|
||||
@@ -106,7 +106,7 @@ struct make_storage_type< 8u >
|
||||
#if defined(BOOST_HAS_INT128)
|
||||
|
||||
template< >
|
||||
struct make_storage_type< 16u >
|
||||
struct storage_traits< 16u >
|
||||
{
|
||||
typedef boost::uint128_type BOOST_ATOMIC_DETAIL_MAY_ALIAS type;
|
||||
|
||||
@@ -143,7 +143,7 @@ BOOST_FORCEINLINE void non_atomic_load(storage128_t const volatile& from, storag
|
||||
}
|
||||
|
||||
template< >
|
||||
struct make_storage_type< 16u >
|
||||
struct storage_traits< 16u >
|
||||
{
|
||||
typedef storage128_t type;
|
||||
|
||||
@@ -163,4 +163,4 @@ struct storage_size_of
|
||||
} // namespace atomics
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_ATOMIC_DETAIL_STORAGE_TYPE_HPP_INCLUDED_
|
||||
#endif // BOOST_ATOMIC_DETAIL_STORAGE_TRAITS_HPP_INCLUDED_
|
||||
Reference in New Issue
Block a user