fpmas 1.6
edge.h
Go to the documentation of this file.
1#ifndef FPMAS_EDGE_H
2#define FPMAS_EDGE_H
3
9
10namespace fpmas { namespace graph {
11
15 template<typename _IdType, typename _NodeType>
16 class Edge : public virtual api::graph::Edge<_IdType, _NodeType> {
17 public:
20
21 private:
22 IdType id;
24 float weight;
25
26 NodeType* source;
27 NodeType* target;
28
29 public:
39 id(id), layer(layer), weight(1.f) {};
40
41 IdType getId() const override {return id;}
42 api::graph::LayerId getLayer() const override {return layer;}
43 void setLayer(api::graph::LayerId layer) override {this->layer=layer;}
44
45 float getWeight() const override {return weight;}
46 void setWeight(float weight) override {this->weight=weight;}
47
48 void setSourceNode(NodeType* const src) override {this->source = src;}
49 NodeType* getSourceNode() const override {return source;}
50
51 void setTargetNode(NodeType* const tgt) override {this->target = tgt;}
52 NodeType* getTargetNode() const override {return target;}
53 };
54}}
55#endif
Definition: edge.h:21
_NodeType NodeType
Definition: edge.h:30
_IdType IdType
Definition: edge.h:26
Definition: edge.h:16
NodeType * getTargetNode() const override
Definition: edge.h:52
void setTargetNode(NodeType *const tgt) override
Definition: edge.h:51
Edge(IdType id, api::graph::LayerId layer)
Definition: edge.h:38
NodeType * getSourceNode() const override
Definition: edge.h:49
void setWeight(float weight) override
Definition: edge.h:46
api::graph::LayerId getLayer() const override
Definition: edge.h:42
void setSourceNode(NodeType *const src) override
Definition: edge.h:48
void setLayer(api::graph::LayerId layer) override
Definition: edge.h:43
IdType getId() const override
Definition: edge.h:41
float getWeight() const override
Definition: edge.h:45
int LayerId
Definition: edge.h:13
Definition: fpmas.cpp:3