tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
itm2stm::Scope::Callback< F > Struct Template Reference
Collaboration diagram for itm2stm::Scope::Callback< F >:

Public Member Functions

 Callback (F f, void *arg)
 
void eval () const
 

Public Attributes

function_
 
void * arg_
 

Detailed Description

template<typename F>
struct itm2stm::Scope::Callback< F >

ITM allows users to register onCommit and onAbort handlers to execute user code during those events. The ITM interface defines the callbacks with independent type name (userCommitAction and userAbortAction), even though they are structurally equivalent (void (*)(void*)). We don't want to rely on the structural equivalence, so we use this templated struct to store and evaluate both types of callbacks.

Constructor & Destructor Documentation

template<typename F>
itm2stm::Scope::Callback< F >::Callback ( f,
void *  arg 
)
inline

Member Function Documentation

template<typename F>
void itm2stm::Scope::Callback< F >::eval ( ) const
inline

Member Data Documentation

template<typename F>
void* itm2stm::Scope::Callback< F >::arg_
template<typename F>
F itm2stm::Scope::Callback< F >::function_

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