53 #ifndef HAVOQGT_MPI_IMPL_EDGE_ITERATOR_HPP_
54 #define HAVOQGT_MPI_IMPL_EDGE_ITERATOR_HPP_
61 template <
typename SegementManager>
65 : m_ptr_graph(NULL) {};
83 template <
typename T1,
typename T2>
friend class edge_data;
103 template <
typename SegmentManager>
107 uint64_t edge_offset,
110 , m_edge_offset(edge_offset)
111 , m_ptr_graph(pgraph) { }
113 template <
typename SegmentManager>
121 template <
typename SegmentManager>
130 template <
typename SegmentManager>
139 template <
typename SegmentManager>
147 template <
typename SegmentManager>
154 template <
typename SegmentManager>
156 typename delegate_partitioned_graph<SegmentManager>::vertex_locator
158 if(m_source.is_delegate()) {
160 assert(m_ptr_graph->m_delegate_targets[m_edge_offset].m_owner_dest <
161 m_ptr_graph->m_mpi_size);
162 return m_ptr_graph->m_delegate_targets[m_edge_offset];
165 assert(m_ptr_graph->m_owned_targets[m_edge_offset].m_owner_dest <
166 m_ptr_graph->m_mpi_size);
167 return m_ptr_graph->m_owned_targets[m_edge_offset];
174 #endif // HAVOQGT_MPI_IMPL_EDGE_ITERATOR_HPP_
bool operator!=(delegate_partitioned_graph< SegementManager > &other)
vertex_locator target() const
const delegate_partitioned_graph *const m_ptr_graph
vertex_locator source() const
friend bool operator!=(const edge_iterator &x, const edge_iterator &y)
size_t m_delegate_targets_size
size_t m_owned_targets_size
friend bool operator==(const edge_iterator &x, const edge_iterator &y)
bool operator==(delegate_partitioned_graph< SegementManager > &other)
edge_iterator & operator++()
bool is_equal(const edge_iterator &x) const