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

#include <edge.h>

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

Public Types

typedef _IdType IdType
 
typedef _NodeType NodeType
 

Public Member Functions

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
 

Detailed Description

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

Graph edge

An Edge represents a link between two nodes on a given layer.

Member Typedef Documentation

◆ IdType

template<typename _IdType , typename _NodeType >
typedef _IdType fpmas::api::graph::Edge< _IdType, _NodeType >::IdType

ID type

◆ NodeType

template<typename _IdType , typename _NodeType >
typedef _NodeType fpmas::api::graph::Edge< _IdType, _NodeType >::NodeType

Node type

Member Function Documentation

◆ getId()

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

◆ getLayer()

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

◆ setLayer()

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

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

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.

◆ getWeight()

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

Weight of the Edge.

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

Returns
edge's weight

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.

◆ setWeight()

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

Sets the weight of the Edge.

Parameters
weightnew weight

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.

◆ setSourceNode()

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

Sets the source node of this edge.

Parameters
srcpointer to source node

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.

◆ getSourceNode()

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

Source node of this edge.

Returns
pointer to source node

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.

◆ setTargetNode()

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

Sets the target node of this edge.

Parameters
tgtpointer to target node

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.

◆ getTargetNode()

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

Target node of this edge.

Returns
pointer to target node

Implemented in fpmas::graph::Edge< _IdType, _NodeType >, and fpmas::graph::Edge< DistributedId, api::graph::DistributedNode< T > >.


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