LLVM: llvm::ManagedStaticBase Class Reference (original) (raw)
ManagedStaticBase - Common base class for ManagedStatic instances. More...
#include "[llvm/Support/ManagedStatic.h](ManagedStatic%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| constexpr | ManagedStaticBase ()=default |
| bool | isConstructed () const |
| isConstructed - Return true if this object has not been created yet. | |
| LLVM_ABI void | destroy () const |
| Protected Member Functions | |
|---|---|
| LLVM_ABI void | RegisterManagedStatic (void *(*creator)(), void(*deleter)(void *)) const |
ManagedStaticBase - Common base class for ManagedStatic instances.
Definition at line 50 of file ManagedStatic.h.
| llvm::ManagedStaticBase::ManagedStaticBase ( ) | constexprdefault |
|---|
◆ destroy()
| void ManagedStaticBase::destroy | ( | ) | const |
|---|
◆ isConstructed()
| bool llvm::ManagedStaticBase::isConstructed ( ) const | inline |
|---|
isConstructed - Return true if this object has not been created yet.
Definition at line 73 of file ManagedStatic.h.
References Ptr.
◆ RegisterManagedStatic()
| void ManagedStaticBase::RegisterManagedStatic ( void *(* creator )(), void(* deleter )(void *) ) const | protected |
|---|
Definition at line 27 of file ManagedStatic.cpp.
References assert(), DeleterFn, getManagedStaticMutex(), llvm::llvm_is_multithreaded(), Next, Ptr, and StaticList.
Referenced by llvm::ManagedStatic< C, Creator, Deleter >::operator*(), and llvm::ManagedStatic< C, Creator, Deleter >::operator*().
◆ DeleterFn
| void(* llvm::ManagedStaticBase::DeleterFn) (void *) = nullptr | mutableprotected |
|---|
◆ Next
◆ Ptr
| std::atomic<void *> llvm::ManagedStaticBase::Ptr {} | mutableprotected |
|---|
Definition at line 53 of file ManagedStatic.h.
Referenced by llvm::ManagedStatic< C, Creator, Deleter >::claim(), destroy(), isConstructed(), llvm::ManagedStatic< C, Creator, Deleter >::operator*(), llvm::ManagedStatic< C, Creator, Deleter >::operator*(), and RegisterManagedStatic().
The documentation for this class was generated from the following files:
- include/llvm/Support/ManagedStatic.h
- lib/Support/ManagedStatic.cpp