tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
stm::DISPATCH< T, S > Struct Template Reference

#include <library_inst.hpp>

Collaboration diagram for stm::DISPATCH< T, S >:

Classes

struct  InvalidTypeAsSecondTemplateParameter
 

Static Public Member Functions

static TM_INLINEread (T *addr, TxThread *thread)
 
static TM_INLINE void write (T *addr, T val, TxThread *thread)
 

Detailed Description

template<typename T, size_t S>
struct stm::DISPATCH< T, S >

The DISPATCH class takes an address and a type, and determines which words (represented as void*s) ought to be read and written to effect a read or write of the given type, from the given address.

NB: if the compiler can't find a valid specialization, it will use this variant, which will cause an error. This is the desired behavior.

Member Function Documentation

template<typename T, size_t S>
static TM_INLINE T stm::DISPATCH< T, S >::read ( T *  addr,
TxThread thread 
)
inlinestatic
template<typename T, size_t S>
static TM_INLINE void stm::DISPATCH< T, S >::write ( T *  addr,
val,
TxThread thread 
)
inlinestatic

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