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

#include <vertex_locator.hpp>

Public Member Functions

 vertex_locator ()
 
bool is_valid () const
 
bool is_delegate () const
 
uint32_t owner () const
 
void set_dest (uint32_t dest)
 
uint64_t local_id () const
 
bool is_equal (const vertex_locator x) const
 
uint32_t get_bcast () const
 
void set_bcast (uint32_t bcast)
 
bool is_intercept () const
 
void set_intercept (bool intercept)
 

Private Member Functions

 vertex_locator (bool is_delegate, uint64_t local_id, uint32_t owner_dest)
 

Private Attributes

unsigned int m_is_delegate: 1
 
unsigned int m_is_bcast: 1
 
unsigned int m_is_intercept: 1
 
unsigned int m_owner_dest: 20
 
uint64_t m_local_id: 39
 

Friends

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

Detailed Description

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

Here are some very important details.

Definition at line 62 of file vertex_locator.hpp.

Constructor & Destructor Documentation

template<typename SegementManager>
havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::vertex_locator ( )
inline
template<typename SegmentManager >
havoqgt::mpi::delegate_partitioned_graph< SegmentManager >::vertex_locator::vertex_locator ( bool  is_delegate,
uint64_t  local_id,
uint32_t  owner_dest 
)
inlineprivate

Definition at line 138 of file vertex_locator.hpp.

138  {
139  m_is_bcast = 0;
140  m_is_intercept = 0;
141 
142  if (is_delegate) {
143  m_is_delegate = true;
144  m_owner_dest = owner_dest;
146  if(!(m_is_delegate == true
147  && m_local_id == local_id
148  && m_owner_dest == owner_dest)) { std::cerr << "ERROR: vertex_locator()" << std::endl; exit(-1);}
149  } else {
150  m_is_delegate = false;
151  m_owner_dest = owner_dest;
153  if(!(m_is_delegate == false
154  && m_owner_dest == owner_dest
155  && m_local_id == local_id)) { std::cerr << "ERROR: vertex_locator()" << std::endl; exit(-1);}
156 
157  }
158 }

Here is the call graph for this function:

Member Function Documentation

template<typename SegementManager>
uint32_t havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::get_bcast ( ) const
inline

Definition at line 86 of file vertex_locator.hpp.

template<typename SegementManager>
bool havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::is_delegate ( ) const
inline

Definition at line 81 of file vertex_locator.hpp.

Here is the caller graph for this function:

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

Definition at line 163 of file vertex_locator.hpp.

template<typename SegementManager>
bool havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::is_intercept ( ) const
inline

Definition at line 88 of file vertex_locator.hpp.

template<typename SegementManager>
bool havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::is_valid ( ) const
inline

Definition at line 72 of file vertex_locator.hpp.

72  {
73  delegate_partitioned_graph<SegementManager>::vertex_locator conv;
74  conv.m_local_id = std::numeric_limits<uint64_t>::max();
75  conv.m_owner_dest = std::numeric_limits<uint64_t>::max();
76 
77 
78  return (m_local_id != conv.m_local_id || m_owner_dest != conv.m_owner_dest);
79  }
template<typename SegementManager>
uint64_t havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::local_id ( ) const
inline

Definition at line 84 of file vertex_locator.hpp.

Here is the caller graph for this function:

template<typename SegementManager>
uint32_t havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::owner ( ) const
inline

Definition at line 82 of file vertex_locator.hpp.

Here is the caller graph for this function:

template<typename SegementManager>
void havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::set_bcast ( uint32_t  bcast)
inline

Definition at line 87 of file vertex_locator.hpp.

template<typename SegementManager>
void havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::set_dest ( uint32_t  dest)
inline

Definition at line 83 of file vertex_locator.hpp.

template<typename SegementManager>
void havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::set_intercept ( bool  intercept)
inline

Definition at line 89 of file vertex_locator.hpp.

Friends And Related Function Documentation

template<typename SegementManager>
friend class delegate_partitioned_graph
friend

Definition at line 113 of file vertex_locator.hpp.

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

Definition at line 109 of file vertex_locator.hpp.

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

Definition at line 93 of file vertex_locator.hpp.

94  {
95  if (x.m_is_delegate == y.m_is_delegate) {
96  if (x.m_owner_dest == y.m_owner_dest) {
97  return x.m_local_id < y.m_local_id;
98  }
99  else {
100  return x.m_owner_dest < y.m_owner_dest;
101  }
102 
103  } else {
104  return x.m_is_delegate < y.m_is_delegate;
105  }
106  }
template<typename SegementManager>
bool operator== ( const vertex_locator x,
const vertex_locator y 
)
friend

Definition at line 91 of file vertex_locator.hpp.

92  {return x.is_equal(y); }

Member Data Documentation

template<typename SegementManager>
unsigned int havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::m_is_bcast
private

Definition at line 116 of file vertex_locator.hpp.

template<typename SegementManager>
unsigned int havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::m_is_delegate
private

Definition at line 114 of file vertex_locator.hpp.

template<typename SegementManager>
unsigned int havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::m_is_intercept
private

Definition at line 117 of file vertex_locator.hpp.

template<typename SegementManager>
uint64_t havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::m_local_id
private

Definition at line 119 of file vertex_locator.hpp.

template<typename SegementManager>
unsigned int havoqgt::mpi::delegate_partitioned_graph< SegementManager >::vertex_locator::m_owner_dest
private

Definition at line 118 of file vertex_locator.hpp.


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