TVM  0.9.4
tvm::internal::CallbackManager Class Reference

#include <tvm/internal/CallbackManager.h>

Public Types

using Callback = std::function< void()>
 
using TCPair = std::pair< PairElementToken, Callback >
 

Public Member Functions

 CallbackManager ()=default
 
 CallbackManager (const CallbackManager &)=delete
 
CallbackManageroperator= (const CallbackManager &)=delete
 
virtual ~CallbackManager ()=default
 
PairElementTokenHandle registerCallback (std::function< void()> c)
 
void unregisterCallback (const PairElementToken &t)
 
void run ()
 

Detailed Description

A class to register and run callbacks, based on PairElementToken to identify the class who registered the callback and check if it is still alive. If this class was destroyed, the callback is automatically unregistered.

Member Typedef Documentation

◆ Callback

using tvm::internal::CallbackManager::Callback = std::function<void()>

◆ TCPair

Constructor & Destructor Documentation

◆ CallbackManager() [1/2]

tvm::internal::CallbackManager::CallbackManager ( )
default

◆ CallbackManager() [2/2]

tvm::internal::CallbackManager::CallbackManager ( const CallbackManager )
delete

◆ ~CallbackManager()

virtual tvm::internal::CallbackManager::~CallbackManager ( )
virtualdefault

Member Function Documentation

◆ operator=()

CallbackManager& tvm::internal::CallbackManager::operator= ( const CallbackManager )
delete

◆ registerCallback()

PairElementTokenHandle tvm::internal::CallbackManager::registerCallback ( std::function< void()>  c)
inline

Register a callback and return a handle that needs to be converted to PairElementToken.

◆ run()

void tvm::internal::CallbackManager::run ( )
inline

Run all callbacks. Remove the ones for which the token obtained at the registration was destroyed.

◆ unregisterCallback()

void tvm::internal::CallbackManager::unregisterCallback ( const PairElementToken t)
inline

Unregister a callback, identified by the token created from its registration.


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