fpmas 1.6
Public Member Functions | List of all members
fpmas::graph::Edge< _IdType, _NodeType > Class Template Reference

#include <edge.h>

Inheritance diagram for fpmas::graph::Edge< _IdType, _NodeType >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::graph::Edge< _IdType, _NodeType >:
Collaboration graph
[legend]

Public Member Functions

 Edge (IdType id, api::graph::LayerId layer)
 
IdType getId () const override
 
api::graph::LayerId getLayer () const override
 
void setLayer (api::graph::LayerId layer) override
 
float getWeight () const override
 
void setWeight (float weight) override
 
void setSourceNode (NodeType *const src) override
 
NodeTypegetSourceNode () const override
 
void setTargetNode (NodeType *const tgt) override
 
NodeTypegetTargetNode () const override
 
virtual IdType getId () const =0
 
virtual LayerId getLayer () const =0
 
virtual void setLayer (LayerId layer)=0
 
virtual float getWeight () const =0
 
virtual void setWeight (float weight)=0
 
virtual void setSourceNode (NodeType *const src)=0
 
virtual NodeTypegetSourceNode () const =0
 
virtual void setTargetNode (NodeType *const tgt)=0
 
virtual NodeTypegetTargetNode () const =0
 

Additional Inherited Members

- Public Types inherited from fpmas::api::graph::Edge< _IdType, _NodeType >
typedef _IdType IdType
 
typedef _NodeType NodeType
 

Detailed Description

template<typename _IdType, typename _NodeType>
class fpmas::graph::Edge< _IdType, _NodeType >

api::graph::Edge implementation.

Constructor & Destructor Documentation

◆ Edge()

template<typename _IdType , typename _NodeType >
fpmas::graph::Edge< _IdType, _NodeType >::Edge ( IdType  id,
api::graph::LayerId  layer 
)
inline

Edge constructor.

The Edge is initialized with a default weight of 1.

Parameters
idedge id
layeredge layer

Member Function Documentation

◆ getId()

template<typename _IdType , typename _NodeType >
IdType fpmas::graph::Edge< _IdType, _NodeType >::getId ( ) const
inlineoverridevirtual

ID of the Edge.

Returns
edge's ID

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ getLayer()

template<typename _IdType , typename _NodeType >
api::graph::LayerId fpmas::graph::Edge< _IdType, _NodeType >::getLayer ( ) const
inlineoverridevirtual

Layer of the Edge.

Layers are used to subset incoming and outgoing edges lists in the following Node's functions:

  • Node::getIncomingEdges(LayerId) const
  • Node::inNeighbors(LayerId) const
  • Node::getOutgoingEdges(LayerId) const
  • Node::inNeighbors(LayerId) const
Returns
edge's layer

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ setLayer()

template<typename _IdType , typename _NodeType >
void fpmas::graph::Edge< _IdType, _NodeType >::setLayer ( api::graph::LayerId  layer)
inlineoverridevirtual

Sets the layer of this edge.

This method does not re-bind the source and target nodes on the proper layer. This can be handled automatically by the DistributedGraph::switchLayer() method.

Parameters
layernew layer

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ getWeight()

template<typename _IdType , typename _NodeType >
float fpmas::graph::Edge< _IdType, _NodeType >::getWeight ( ) const
inlineoverridevirtual

Weight of the Edge.

The edge's weight might be used to perform LoadBalancing.

Returns
edge's weight

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ setWeight()

template<typename _IdType , typename _NodeType >
void fpmas::graph::Edge< _IdType, _NodeType >::setWeight ( float  weight)
inlineoverridevirtual

Sets the weight of the Edge.

Parameters
weightnew weight

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ setSourceNode()

template<typename _IdType , typename _NodeType >
void fpmas::graph::Edge< _IdType, _NodeType >::setSourceNode ( NodeType *const  src)
inlineoverridevirtual

Sets the source node of this edge.

Parameters
srcpointer to source node

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ getSourceNode()

template<typename _IdType , typename _NodeType >
NodeType * fpmas::graph::Edge< _IdType, _NodeType >::getSourceNode ( ) const
inlineoverridevirtual

Source node of this edge.

Returns
pointer to source node

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ setTargetNode()

template<typename _IdType , typename _NodeType >
void fpmas::graph::Edge< _IdType, _NodeType >::setTargetNode ( NodeType *const  tgt)
inlineoverridevirtual

Sets the target node of this edge.

Parameters
tgtpointer to target node

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.

◆ getTargetNode()

template<typename _IdType , typename _NodeType >
NodeType * fpmas::graph::Edge< _IdType, _NodeType >::getTargetNode ( ) const
inlineoverridevirtual

Target node of this edge.

Returns
pointer to target node

Implements fpmas::api::graph::Edge< _IdType, _NodeType >.


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