LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::ManagedStatic< C, Creator, Deleter > Class Template Reference

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"

Inheritance diagram for llvm::ManagedStatic< C, Creator, Deleter >:
Inheritance graph
[legend]
Collaboration diagram for llvm::ManagedStatic< C, Creator, Deleter >:
Collaboration graph
[legend]

Public Member Functions

Coperator* ()
 
Coperator-> ()
 
const Coperator* () const
 
const Coperator-> () const
 
- Public Member Functions inherited from llvm::ManagedStaticBase
bool isConstructed () const
 isConstructed - Return true if this object has not been created yet. More...
 
void destroy () const
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::ManagedStaticBase
void RegisterManagedStatic (void *(*creator)(), void(*deleter)(void *)) const
 
- Protected Attributes inherited from llvm::ManagedStaticBase
std::atomic< void * > Ptr
 
void(* DeleterFn )(void *)
 
const ManagedStaticBaseNext
 

Detailed Description

template<class C, class Creator = object_creator<C>, class Deleter = object_deleter<C>>
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 61 of file ManagedStatic.h.

Member Function Documentation

◆ operator*() [1/2]

template<class C, class Creator = object_creator<C>, class Deleter = object_deleter<C>>
C& llvm::ManagedStatic< C, Creator, Deleter >::operator* ( )
inline

Definition at line 64 of file ManagedStatic.h.

References C.

◆ operator*() [2/2]

template<class C, class Creator = object_creator<C>, class Deleter = object_deleter<C>>
const C& llvm::ManagedStatic< C, Creator, Deleter >::operator* ( ) const
inline

Definition at line 74 of file ManagedStatic.h.

References C.

◆ operator->() [1/2]

template<class C, class Creator = object_creator<C>, class Deleter = object_deleter<C>>
C* llvm::ManagedStatic< C, Creator, Deleter >::operator-> ( )
inline

Definition at line 72 of file ManagedStatic.h.

◆ operator->() [2/2]

template<class C, class Creator = object_creator<C>, class Deleter = object_deleter<C>>
const C* llvm::ManagedStatic< C, Creator, Deleter >::operator-> ( ) const
inline

Definition at line 82 of file ManagedStatic.h.

References llvm::llvm_shutdown().


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