This class takes a snapshot for a subtree.
See Brief introduction of software transactional memory using the class Node for basic ideas of this STM and code examples.
More...
#include <transaction.h>
Public Member Functions | |
Snapshot (const Snapshot &x) noexcept=default | |
Snapshot (Snapshot &&x) noexcept=default | |
Snapshot (Node< XN > &node, const Snapshot &x) noexcept | |
Snapshot (const Transaction< XN > &x) noexcept | |
Snapshot (Transaction< XN > &&x) noexcept | |
Snapshot & | operator= (const Snapshot &x) noexcept=default |
Snapshot (const Node< XN > &node, bool multi_nodal=true) | |
template<class T > | |
const T::Payload & | operator[] (const shared_ptr< T > &node) const noexcept |
template<class T > | |
const T::Payload & | operator[] (const T &node) const noexcept |
int | size () const noexcept |
of child nodes. | |
const shared_ptr< const typename Node< XN >::NodeList > | list () const noexcept |
The list of child nodes. | |
int | size (const shared_ptr< Node< XN > > &node) const noexcept |
of child nodes owned by node. | |
shared_ptr< const typename Node< XN >::NodeList > | list (const shared_ptr< Node< XN > > &node) const noexcept |
The list of child nodes owned by node. | |
bool | isUpperOf (const XN &lower) const noexcept |
Whether lower is a child of this or not. | |
void | print () |
template<typename T , typename tArgRef > | |
void | talk (T &talker, tArgRef arg) const |
Stores an event immediately from talker with arg. | |
Protected Attributes | |
local_shared_ptr< typename Node< XN >::Packet > | m_packet |
The snapshot. | |
int64_t | m_serial |
Friends | |
class | Node< XN > |
This class takes a snapshot for a subtree.
See Brief introduction of software transactional memory using the class Node for basic ideas of this STM and code examples.
Definition at line 440 of file transaction.h.
|
inlinenoexcept |
Definition at line 454 of file transaction.h.
Referenced by Transactional::Snapshot< XNode >::operator[]().
|
inlinenoexcept |
Definition at line 459 of file transaction.h.