P0020r6 : Floating Point Atomic (original) (raw)
static constexpr bool is_always_lock_free = implementation-defined ;
bool is_lock_free() const volatile noexcept;
bool is_lock_free() const noexcept;
void store( floating-point , memory_order = memory_order_seq_cst ) volatile noexcept;
void store( floating-point , memory_order = memory_order_seq_cst ) noexcept;
floating-point load( memory_order = memory_order_seq_cst ) volatile noexcept;
floating-point load( memory_order = memory_order_seq_cst ) noexcept;
operator floating-point () volatile noexcept ;
operator floating-point () noexcept ;
floating-point exchange( floating-point , memory_order = memory_order_seq_cst ) volatile noexcept;
floating-point exchange( floating-point , memory_order = memory_order_seq_cst ) noexcept;
bool compare_exchange_weak( floating-point & , floating-point , memory_order , memory_order ) volatile noexcept;
bool compare_exchange_weak( floating-point & , floating-point , memory_order , memory_order ) noexcept;
bool compare_exchange_strong( floating-point & , floating-point , memory_order , memory_order ) volatile noexcept;
bool compare_exchange_strong( floating-point & , floating-point , memory_order , memory_order ) noexcept;
bool compare_exchange_weak( floating-point & , floating-point , memory_order = memory_order_seq_cst ) volatile noexcept;
bool compare_exchange_weak( floating-point & , floating-point , memory_order = memory_order_seq_cst ) noexcept;
bool compare_exchange_strong( floating-point &, floating-point , memory_order = memory_order_seq_cst ) volatile noexcept;
bool compare_exchange_strong( floating-point &, floating-point , memory_order = memory_order_seq_cst ) noexcept;
floating-point fetch_add( floating-point , memory_order = memory_order_seq_cst) volatile noexcept;
floating-point fetch_add( floating-point , memory_order = memory_order_seq_cst) noexcept;
floating-point fetch_sub( floating-point , memory_order = memory_order_seq_cst) volatile noexcept;
floating-point fetch_sub( floating-point , memory_order = memory_order_seq_cst) noexcept;
atomic() noexcept = default ;
constexpr atomic( floating-point ) noexcept ;
atomic( const atomic & ) = delete ;
atomic & operator = ( const atomic & ) = delete ;
atomic & operator = ( const atomic & ) volatile = delete ;
floating-point operator=( floating-point ) volatile noexcept ;
floating-point operator=( floating-point ) noexcept ;
floating-point operator+=( floating-point ) volatile noexcept;
floating-point operator+=( floating-point ) noexcept;
floating-point operator-=( floating-point ) volatile noexcept;
floating-point operator-=( floating-point ) noexcept;