Provides non-transactional state and entries for transactional multisets. More...
#include "picotm/config/picotm-txlib-config.h"
#include "picotm/compiler.h"
#include "picotm/picotm-lib-rwlock.h"
Data Structures | |
struct | txmultiset_entry |
Represents an entry in a transaction-safe multiset. More... | |
struct | txmultiset_state |
The global state of transaction-safe multiset. More... | |
Macros | |
#define | TXMULTISET_ENTRY_INITIALIZER |
Initializer macro for struct txmultiset_entry . | |
#define | TXMULTISET_STATE_INITIALIZER(_multiset_state, _key, _compare) |
Initializer macro for struct txmultiset_state . | |
Typedefs | |
typedef int(* | txmultiset_compare_function) (const void *lhs, const void *rhs) |
Key-compare function for two multiset-entry keys. More... | |
typedef const void *(* | txmultiset_key_function) (struct txmultiset_entry *entry) |
Generates a compare key for a multiset entry. More... | |
Functions | |
PICOTM_NOTHROW void | txmultiset_entry_init (struct txmultiset_entry *self) |
Initializes an entry of a transactional multiset. More... | |
PICOTM_NOTHROW struct txmultiset_entry * | txmultiset_entry_next_tx (const struct txmultiset_entry *self) |
Returns the next multiset entry. More... | |
PICOTM_NOTHROW struct txmultiset_entry * | txmultiset_entry_prev_tx (const struct txmultiset_entry *self) |
Returns the previous multiset entry. More... | |
PICOTM_NOTHROW void | txmultiset_entry_uninit (struct txmultiset_entry *self) |
Cleans up an entry of a transactional multiset. More... | |
PICOTM_NOTHROW void | txmultiset_state_clear_and_uninit_entries (struct txmultiset_state *self, void(*uninit)(struct txmultiset_entry *, void *), void *data) |
Removes all entries from a multiset state and runs a cleanup function on each. More... | |
PICOTM_NOTHROW void | txmultiset_state_init (struct txmultiset_state *self, txmultiset_key_function key, txmultiset_compare_function compare) |
Initializes multiset state. More... | |
PICOTM_NOTHROW void | txmultiset_state_uninit (struct txmultiset_state *self) |
Cleans up multiset state. More... | |