LLVM 22.0.0git
llvm::ManagedStaticBase Class Reference

ManagedStaticBase - Common base class for ManagedStatic instances. More...

#include "llvm/Support/ManagedStatic.h"

Inheritance diagram for llvm::ManagedStaticBase:
[legend]

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

Protected Attributes

std::atomic< void * > Ptr {}
void(* DeleterFn )(void *) = nullptr
const ManagedStaticBaseNext = nullptr

Detailed Description

ManagedStaticBase - Common base class for ManagedStatic instances.

Definition at line 50 of file ManagedStatic.h.

Constructor & Destructor Documentation

◆ ManagedStaticBase()

llvm::ManagedStaticBase::ManagedStaticBase ( )
constexprdefault

Member Function Documentation

◆ destroy()

void ManagedStaticBase::destroy ( ) const

Definition at line 55 of file ManagedStatic.cpp.

References assert(), DeleterFn, Next, Ptr, and StaticList.

◆ 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

Member Data Documentation

◆ DeleterFn

void(* llvm::ManagedStaticBase::DeleterFn) (void *) = nullptr
mutableprotected

Definition at line 54 of file ManagedStatic.h.

Referenced by destroy(), and RegisterManagedStatic().

◆ Next

const ManagedStaticBase* llvm::ManagedStaticBase::Next = nullptr
mutableprotected

Definition at line 55 of file ManagedStatic.h.

Referenced by destroy(), and RegisterManagedStatic().

◆ Ptr


The documentation for this class was generated from the following files: