Made atomic load const for non STL versions

This commit is contained in:
John Wellbelove 2018-06-26 18:55:34 +01:00
parent ea28f7c726
commit e782ba1fec
4 changed files with 14 additions and 10 deletions

View File

@ -222,12 +222,12 @@ namespace etl
}
// Load
T load(etl::memory_order order = etl::memory_order_seq_cst)
T load(etl::memory_order order = etl::memory_order_seq_cst) const
{
return __sync_fetch_and_add(&value, 0);
}
T load(etl::memory_order order = etl::memory_order_seq_cst) volatile
T load(etl::memory_order order = etl::memory_order_seq_cst) const volatile
{
return __sync_fetch_and_add(&value, 0);
}
@ -429,7 +429,7 @@ namespace etl
atomic& operator =(const atomic&);
atomic& operator =(const atomic&) volatile;
volatile T value;
mutable volatile T value;
};
template <typename T>
@ -562,12 +562,12 @@ namespace etl
}
// Load
T* load(etl::memory_order order = etl::memory_order_seq_cst)
T* load(etl::memory_order order = etl::memory_order_seq_cst) const
{
return __sync_fetch_and_add(&value, 0);
}
T* load(etl::memory_order order = etl::memory_order_seq_cst) volatile
T* load(etl::memory_order order = etl::memory_order_seq_cst) const volatile
{
return __sync_fetch_and_add(&value, 0);
}
@ -736,7 +736,7 @@ namespace etl
atomic& operator =(const atomic&);
atomic& operator =(const atomic&) volatile;
volatile T* value;
mutable volatile T* value;
};
typedef etl::atomic<char> atomic_char;

View File

@ -210,12 +210,12 @@ namespace etl
}
// Load
T load(etl::memory_order order = etl::memory_order_seq_cst)
T load(etl::memory_order order = etl::memory_order_seq_cst) const
{
return value.load(order);
}
T load(etl::memory_order order = etl::memory_order_seq_cst) volatile
T load(etl::memory_order order = etl::memory_order_seq_cst) const volatile
{
return value.load(order);
}

View File

@ -37,10 +37,10 @@ SOFTWARE.
/// Definitions of the ETL version
///\ingroup utilities
#define ETL_VERSION "11.12.0"
#define ETL_VERSION "11.12.1"
#define ETL_VERSION_MAJOR 11
#define ETL_VERSION_MINOR 12
#define ETL_VERSION_PATCH 0
#define ETL_VERSION_PATCH 1
#endif

View File

@ -1,3 +1,7 @@
===============================================================================
11.12.1
Made atomic load const for non STL vesions
===============================================================================
11.12.0
Renamed STATIC_ASSERT to ETL_STATIC_ASSERT