Public Member Functions | Protected Attributes | Friends | List of all members
Transactional::Snapshot< XN > Class Template Reference

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>

Inheritance diagram for Transactional::Snapshot< XN >:
Inheritance graph
[legend]

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
 
Snapshotoperator= (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 >
 

Detailed Description

template<class XN>
class Transactional::Snapshot< 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.

See Also
Node, Transaction, SingleSnapshot, SingleTransaction.

Definition at line 440 of file transaction.h.

Member Function Documentation

template<class XN>
template<class T >
const T::Payload& Transactional::Snapshot< XN >::operator[] ( const shared_ptr< T > &  node) const
inlinenoexcept
Returns
Payload instance for node, which should be included in the snapshot.

Definition at line 454 of file transaction.h.

Referenced by Transactional::Snapshot< XNode >::operator[]().

template<class XN>
template<class T >
const T::Payload& Transactional::Snapshot< XN >::operator[] ( const T &  node) const
inlinenoexcept
Returns
Payload instance for node, which should be included in the snapshot.

Definition at line 459 of file transaction.h.


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

Generated for KAME4 by  doxygen 1.8.3