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)

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

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

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

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

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()

Declared at: clang/include/clang/Basic/SyncScope.h:85