LLVM 20.0.0git
|
ManagedStaticBase - Common base class for ManagedStatic instances. More...
#include "llvm/Support/ManagedStatic.h"
Public Member Functions | |
constexpr | ManagedStaticBase ()=default |
bool | isConstructed () const |
isConstructed - Return true if this object has not been created yet. | |
void | destroy () const |
Protected Member Functions | |
void | RegisterManagedStatic (void *(*creator)(), void(*deleter)(void *)) const |
Protected Attributes | |
std::atomic< void * > | Ptr {} |
void(* | DeleterFn )(void *) = nullptr |
const ManagedStaticBase * | Next = nullptr |
ManagedStaticBase - Common base class for ManagedStatic instances.
Definition at line 49 of file ManagedStatic.h.
|
constexprdefault |
void ManagedStaticBase::destroy | ( | ) | const |
Definition at line 55 of file ManagedStatic.cpp.
References assert(), DeleterFn, Next, Ptr, and StaticList.
Referenced by llvm::llvm_shutdown().
|
inline |
isConstructed - Return true if this object has not been created yet.
Definition at line 71 of file ManagedStatic.h.
References Ptr.
|
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*().
|
mutableprotected |
Definition at line 53 of file ManagedStatic.h.
Referenced by destroy(), and RegisterManagedStatic().
|
mutableprotected |
Definition at line 54 of file ManagedStatic.h.
Referenced by destroy(), and RegisterManagedStatic().
|
mutableprotected |
Definition at line 52 of file ManagedStatic.h.
Referenced by llvm::ManagedStatic< C, Creator, Deleter >::claim(), destroy(), isConstructed(), llvm::ManagedStatic< C, Creator, Deleter >::operator*(), and RegisterManagedStatic().