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

#include <vertex_iterator.hpp>

Inheritance diagram for havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator:
Collaboration diagram for havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator:

Public Member Functions

 vertex_iterator ()
 
vertex_iteratoroperator++ ()
 
vertex_iterator operator++ (int)
 
bool is_equal (const vertex_iterator &x) const
 
const vertex_locatoroperator* () const
 
const vertex_locator *const operator-> () const
 

Private Member Functions

 vertex_iterator (uint64_t index, const delegate_partitioned_graph *pgraph)
 
void update_locator ()
 

Private Attributes

const delegate_partitioned_graphm_ptr_graph
 
uint64_t m_owned_vert_index
 
vertex_locator m_locator
 

Friends

class delegate_partitioned_graph
 
bool operator== (const vertex_iterator &x, const vertex_iterator &y)
 
bool operator!= (const vertex_iterator &x, const vertex_iterator &y)
 

Detailed Description

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

Definition at line 62 of file vertex_iterator.hpp.

Constructor & Destructor Documentation

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

Definition at line 66 of file vertex_iterator.hpp.

67  : m_ptr_graph(NULL) {};
template<typename SegementManager>
havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator::vertex_iterator ( uint64_t  index,
const delegate_partitioned_graph pgraph 
)
private

Member Function Documentation

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

Definition at line 131 of file vertex_iterator.hpp.

131  {
132  assert(m_ptr_graph == x.m_ptr_graph);
133  return m_owned_vert_index == x.m_owned_vert_index;
134 }

Here is the caller graph for this function:

template<typename SegementManager>
const vertex_locator& havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator::operator* ( ) const
inline

Definition at line 80 of file vertex_iterator.hpp.

template<typename SegmentManager >
delegate_partitioned_graph< SegmentManager >::vertex_iterator & havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::vertex_iterator::operator++ ( )
inline
template<typename SegmentManager >
delegate_partitioned_graph< SegmentManager >::vertex_iterator havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::vertex_iterator::operator++ ( int  )
inline
template<typename SegementManager>
const vertex_locator* const havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator::operator-> ( ) const
inline

Definition at line 81 of file vertex_iterator.hpp.

template<typename SegmentManager >
void havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::vertex_iterator::update_locator ( )
inlineprivate

Definition at line 154 of file vertex_iterator.hpp.

154  {
156  && m_ptr_graph->m_owned_info[m_owned_vert_index].is_delegate == true;
157  ++ m_owned_vert_index);
158  if(m_owned_vert_index < m_ptr_graph->m_owned_info.size()) {
159  assert(m_ptr_graph->m_owned_info[m_owned_vert_index].is_delegate == false);
160  uint32_t owner = m_ptr_graph->m_mpi_rank;
161  m_locator = vertex_locator(false, m_owned_vert_index, owner);
162  }
163 }
bip::vector< vert_info, SegmentAllocator< vert_info > > m_owned_info

Friends And Related Function Documentation

template<typename SegementManager>
friend class delegate_partitioned_graph
friend

Definition at line 84 of file vertex_iterator.hpp.

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

Definition at line 76 of file vertex_iterator.hpp.

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

Definition at line 73 of file vertex_iterator.hpp.

74  { return x.is_equal(y); }

Member Data Documentation

template<typename SegementManager>
vertex_locator havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator::m_locator
private

Definition at line 91 of file vertex_iterator.hpp.

template<typename SegementManager>
uint64_t havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator::m_owned_vert_index
private

Definition at line 90 of file vertex_iterator.hpp.

template<typename SegementManager>
const delegate_partitioned_graph* havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_iterator::m_ptr_graph
private

Definition at line 89 of file vertex_iterator.hpp.


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