38 #ifndef PMEMOBJ_COMMON_HPP 39 #define PMEMOBJ_COMMON_HPP 42 #include "libpmemobj/tx_base.h" 67 conditional_add_to_tx(
const T *that)
69 if (pmemobj_tx_stage() != TX_STAGE_WORK)
73 if (!pmemobj_pool_by_ptr(that))
76 if (pmemobj_tx_add_range_direct(that,
sizeof(*that)))
95 if (pmemobj_tx_stage() != TX_STAGE_WORK)
98 if (pmemobj_tx_add_range(that.
raw(), 0,
sizeof(T)))
106 template <
typename T>
110 return typeid(T).hash_code();
Persistent pointer class.
Definition: common.hpp:51
Custom transaction error class.
Definition: pexceptions.hpp:63
const PMEMoid & raw() const noexcept
Get PMEMoid encapsulated by this object.
Definition: persistent_ptr_base.hpp:296
Definition: allocator.hpp:48