class AtomicScopeModel
Declaration
class AtomicScopeModel { /* full declaration omitted */ };
Description
Defines the interface for synch scope model.
Declared at: clang/include/clang/Basic/SyncScope.h:83
Method Overview
- public static std::unique_ptr<AtomicScopeModel> create(clang::AtomicScopeModelKind K)
- public virtual unsigned int getFallBackValue() const
- public virtual ArrayRef<unsigned int> getRuntimeValues() const
- public virtual bool isValid(unsigned int S) const
- public virtual clang::SyncScope map(unsigned int S) const
- public virtual ~AtomicScopeModel()
Methods
¶static std::unique_ptr<AtomicScopeModel> create(
clang::AtomicScopeModelKind K)
static std::unique_ptr<AtomicScopeModel> create(
clang::AtomicScopeModelKind K)
Description
Create an atomic scope model by AtomicScopeModelKind.
Declared at: clang/include/clang/Basic/SyncScope.h:105
Parameters
- clang::AtomicScopeModelKind K
Returns
an empty std::unique_ptr for AtomicScopeModelKind::None.
¶virtual unsigned int getFallBackValue() const
virtual unsigned int getFallBackValue() const
Description
If atomic builtin function is called with invalid synch scope value at runtime, it will fall back to a valid synch scope value returned by this function.
Declared at: clang/include/clang/Basic/SyncScope.h:101
¶virtual ArrayRef<unsigned int> getRuntimeValues()
const
virtual ArrayRef<unsigned int> getRuntimeValues()
const
Description
Get all possible synch scope values that might be encountered at runtime for the current language.
Declared at: clang/include/clang/Basic/SyncScope.h:96
¶virtual bool isValid(unsigned int S) const
virtual bool isValid(unsigned int S) const
Description
Check if the compile-time constant synch scope value is valid.
Declared at: clang/include/clang/Basic/SyncScope.h:92
Parameters
- unsigned int S
¶virtual clang::SyncScope map(unsigned int S) const
virtual clang::SyncScope map(unsigned int S) const
Description
Maps language specific synch scope values to internal SyncScope enum.
Declared at: clang/include/clang/Basic/SyncScope.h:88
Parameters
- unsigned int S
¶virtual ~AtomicScopeModel()
virtual ~AtomicScopeModel()
Declared at: clang/include/clang/Basic/SyncScope.h:85