LLVM: llvm::ManagedStatic< C, Creator, Deleter (original) (raw)

ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on demand (good for reducing startup times of dynamic libraries that link in LLVM components) and for making destruction be explicit through the llvm_shutdown() function call. More...

#include "[llvm/Support/ManagedStatic.h](ManagedStatic%5F8h%5Fsource.html)"

Public Member Functions
C & operator* ()
C * operator-> ()
const C & operator* () const
const C * operator-> () const
C * claim ()
Public Member Functions inherited from llvm::ManagedStaticBase
constexpr ManagedStaticBase ()=default
bool isConstructed () const
isConstructed - Return true if this object has not been created yet.
LLVM_ABI void destroy () const
Additional Inherited Members
Protected Member Functions inherited from llvm::ManagedStaticBase
LLVM_ABI void RegisterManagedStatic (void *(*creator)(), void(*deleter)(void *)) const
Protected Attributes inherited from llvm::ManagedStaticBase
std::atomic< void * > Ptr {}
void(* DeleterFn )(void *) = nullptr
const ManagedStaticBase * Next = nullptr

template<class C, class Creator = object_creator, class Deleter = object_deleter>
class llvm::ManagedStatic< C, Creator, Deleter >

ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on demand (good for reducing startup times of dynamic libraries that link in LLVM components) and for making destruction be explicit through the llvm_shutdown() function call.

Definition at line 85 of file ManagedStatic.h.

claim()

template<class C, class Creator = object_creator, class Deleter = object_deleter>

operator*() [1/2]

template<class C, class Creator = object_creator, class Deleter = object_deleter>

operator*() [2/2]

template<class C, class Creator = object_creator, class Deleter = object_deleter>

operator->() [1/2]

template<class C, class Creator = object_creator, class Deleter = object_deleter>

operator->() [2/2]

template<class C, class Creator = object_creator, class Deleter = object_deleter>


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