HavoqGT
havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator Class Reference

#include <edge_iterator.hpp>

Collaboration diagram for havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator:

Public Member Functions

 edge_iterator ()
 
edge_iteratoroperator++ ()
 
edge_iterator operator++ (int)
 
bool is_equal (const edge_iterator &x) const
 
vertex_locator source () const
 
vertex_locator target () const
 

Protected Member Functions

 edge_iterator (vertex_locator source, uint64_t edge_offset, const delegate_partitioned_graph *const pgraph)
 

Protected Attributes

vertex_locator m_source
 
uint64_t m_edge_offset
 
const delegate_partitioned_graph *const m_ptr_graph
 

Friends

class delegate_partitioned_graph
 
template<typename T1 , typename T2 >
class edge_data
 
bool operator== (const edge_iterator &x, const edge_iterator &y)
 
bool operator!= (const edge_iterator &x, const edge_iterator &y)
 

Detailed Description

template<typename SegementManager>
class havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator

Put details here for class

Definition at line 62 of file edge_iterator.hpp.

Constructor & Destructor Documentation

template<typename SegementManager>
havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator::edge_iterator ( )
inline

Definition at line 64 of file edge_iterator.hpp.

65  : m_ptr_graph(NULL) {};
const delegate_partitioned_graph *const m_ptr_graph
template<typename SegmentManager >
havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::edge_iterator::edge_iterator ( vertex_locator  source,
uint64_t  edge_offset,
const delegate_partitioned_graph *const  pgraph 
)
inlineprotected

Member Function Documentation

template<typename SegementManager>
bool havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::edge_iterator::is_equal ( const edge_iterator x) const
inline

Definition at line 133 of file edge_iterator.hpp.

133  {
134  assert(m_source == x.m_source);
135  assert(m_ptr_graph == x.m_ptr_graph);
136  return m_edge_offset == x.m_edge_offset;
137 }
const delegate_partitioned_graph *const m_ptr_graph

Here is the caller graph for this function:

template<typename SegmentManager >
delegate_partitioned_graph< SegmentManager >::edge_iterator & havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::edge_iterator::operator++ ( )
inline

Definition at line 116 of file edge_iterator.hpp.

116  {
117  ++m_edge_offset;
118  return *this;
119 }
template<typename SegmentManager >
delegate_partitioned_graph< SegmentManager >::edge_iterator havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::edge_iterator::operator++ ( int  )
inline

Definition at line 124 of file edge_iterator.hpp.

124  {
125  edge_iterator to_return = *this;
126  ++m_edge_offset;
127  return to_return;
128 }
template<typename SegementManager>
vertex_locator havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator::source ( ) const
inline

Definition at line 78 of file edge_iterator.hpp.

template<typename SegmentManager >
delegate_partitioned_graph< SegmentManager >::vertex_locator havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::edge_iterator::target ( ) const
inline

Definition at line 157 of file edge_iterator.hpp.

157  {
158  if(m_source.is_delegate()) {
159  assert(m_edge_offset < m_ptr_graph->m_delegate_targets_size);
160  assert(m_ptr_graph->m_delegate_targets[m_edge_offset].m_owner_dest <
163  }
164  assert(m_edge_offset < m_ptr_graph->m_owned_targets_size);
165  assert(m_ptr_graph->m_owned_targets[m_edge_offset].m_owner_dest <
168 }
const delegate_partitioned_graph *const m_ptr_graph
bip::offset_ptr< vertex_locator > m_delegate_targets
bip::offset_ptr< vertex_locator > m_owned_targets

Friends And Related Function Documentation

template<typename SegementManager>
friend class delegate_partitioned_graph
friend

Definition at line 82 of file edge_iterator.hpp.

template<typename SegementManager>
template<typename T1 , typename T2 >
friend class edge_data
friend

Definition at line 83 of file edge_iterator.hpp.

template<typename SegementManager>
bool operator!= ( const edge_iterator x,
const edge_iterator y 
)
friend

Definition at line 75 of file edge_iterator.hpp.

76  {return !(x.is_equal(y)); }
template<typename SegementManager>
bool operator== ( const edge_iterator x,
const edge_iterator y 
)
friend

Definition at line 72 of file edge_iterator.hpp.

73  {return x.is_equal(y); }

Member Data Documentation

template<typename SegementManager>
uint64_t havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator::m_edge_offset
protected

Definition at line 88 of file edge_iterator.hpp.

template<typename SegementManager>
const delegate_partitioned_graph* const havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator::m_ptr_graph
protected

Definition at line 89 of file edge_iterator.hpp.

template<typename SegementManager>
vertex_locator havoqgt::mpi::delegate_partitioned_graph< SegementManager >::edge_iterator::m_source
protected

Definition at line 87 of file edge_iterator.hpp.


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