Skip to content

Latest commit

 

History

History
13 lines (10 loc) · 701 Bytes

069-cpp17-lib-misc-atomic-is-always-lock-free.md

File metadata and controls

13 lines (10 loc) · 701 Bytes

atomic<T>::is_always_lock_free

template < typename T >
struct atomic
{
    static constexpr bool is_always_lock_free = ... ;
} ;

C++17で<atomic>に追加されたatomic<T>::is_always_lock_freeは、atomic<T>の実装がすべての実行においてロックフリーであるとコンパイル時に保証できる場合、trueになるstatic constexprbool型のデータメンバーだ。

atomicには、他にもboolを返すメンバー関数is_lock_freeがあるが、これは実行時にロックフリーであるかどうかを判定できる。is_always_lock_freeはコンパイル時にロックフリーであるかどうかを判定できる。