HavoqGT
havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter Class Reference

#include <visitor_queue.hpp>

Inheritance diagram for havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter:
Collaboration diagram for havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter:

Public Member Functions

 visitor_queue_inserter (visitor_queue *_vq)
 
visitor_queue_inserteroperator= (const visitor_wrapper &__value)
 
bool intercept (const visitor_wrapper &__value)
 
visitor_queue_inserteroperator* ()
 Simply returns *this. More...
 
visitor_queue_inserteroperator++ ()
 Simply returns *this. (This iterator does not "move".) More...
 
visitor_queue_inserter operator++ (int)
 Simply returns *this. (This iterator does not "move".) More...
 

Private Attributes

visitor_queuem_vq
 

Detailed Description

template<typename TVisitor, template< typename T > class Queue, typename TGraph>
class havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter

Definition at line 115 of file visitor_queue.hpp.

Constructor & Destructor Documentation

template<typename TVisitor , template< typename T > class Queue, typename TGraph >
havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::visitor_queue_inserter ( visitor_queue _vq)
inline

Definition at line 118 of file visitor_queue.hpp.

Member Function Documentation

template<typename TVisitor , template< typename T > class Queue, typename TGraph >
bool havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::intercept ( const visitor_wrapper __value)
inline

Definition at line 124 of file visitor_queue.hpp.

124  {
125  assert(m_vq->m_ptr_graph->master(__value.m_visitor.vertex) != uint32_t(m_vq->m_mailbox.comm_rank()));
126  bool ret = __value.m_visitor.pre_visit();
127  if(!ret) {
129  }
130  return ret;
131  }
termination_detection_type m_termination_detection

Here is the call graph for this function:

template<typename TVisitor , template< typename T > class Queue, typename TGraph >
visitor_queue_inserter& havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::operator* ( )
inline

Simply returns *this.

Definition at line 135 of file visitor_queue.hpp.

136  { return *this; }
template<typename TVisitor , template< typename T > class Queue, typename TGraph >
visitor_queue_inserter& havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::operator++ ( )
inline

Simply returns *this. (This iterator does not "move".)

Definition at line 140 of file visitor_queue.hpp.

141  { return *this; }
template<typename TVisitor , template< typename T > class Queue, typename TGraph >
visitor_queue_inserter havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::operator++ ( int  )
inline

Simply returns *this. (This iterator does not "move".)

Definition at line 145 of file visitor_queue.hpp.

146  { return *this; }
template<typename TVisitor , template< typename T > class Queue, typename TGraph >
visitor_queue_inserter& havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::operator= ( const visitor_wrapper __value)
inline

Definition at line 119 of file visitor_queue.hpp.

119  {
120  m_vq->handle_mailbox_receive(__value);
121  return *this;
122  }
void handle_mailbox_receive(visitor_wrapper vw)

Here is the call graph for this function:

Member Data Documentation

template<typename TVisitor , template< typename T > class Queue, typename TGraph >
visitor_queue* havoqgt::mpi::visitor_queue< TVisitor, Queue, TGraph >::visitor_queue_inserter::m_vq
private

Definition at line 149 of file visitor_queue.hpp.


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