Graybat  1.1
Graph Approach for Highly Generic Communication Schemes Based on Adaptive Topologies
EdgeLess.hpp
1 # pragma once
2 
3 // STL
4 #include <utility> /* std::make_pair */
5 
6 // GRAYBAT
7 #include <graybat/graphPolicy/Traits.hpp>
8 
9 namespace graybat {
10 
11  namespace pattern {
12 
13 
14  template<typename T_GraphPolicy>
15  struct EdgeLess {
16 
17  using GraphPolicy = T_GraphPolicy;
18  using VertexDescription = graybat::graphPolicy::VertexDescription<GraphPolicy>;
19  using EdgeDescription = graybat::graphPolicy::EdgeDescription<GraphPolicy>;
20  using GraphDescription = graybat::graphPolicy::GraphDescription<GraphPolicy>;
21 
22  const unsigned verticesCount;
23 
24  EdgeLess(const unsigned verticesCount) :
25  verticesCount(verticesCount){
26 
27  }
28 
29  GraphDescription operator()(){
30  std::vector<VertexDescription> vertices(verticesCount);
31  assert(vertices.size() == verticesCount);
32  std::vector<EdgeDescription> edges;
33  return std::make_pair(vertices,edges);
34  }
35 
36  };
37 
38  } /* pattern */
39 
40 } /* graybat */
Definition: EdgeLess.hpp:15
Definition: BiStar.hpp:8