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

#include <node.h>

Inheritance diagram for fpmas::graph::Node< _IdType, _EdgeType >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::graph::Node< _IdType, _EdgeType >:
Collaboration graph
[legend]

Public Member Functions

 Node (const IdType &id)
 
 Node (const Node &)=delete
 
 Node (Node &&)=delete
 
Nodeoperator= (const Node &)=delete
 
Nodeoperator= (Node &&)=delete
 
IdType getId () const override
 
float getWeight () const override
 
void setWeight (float weight) override
 
const std::vector< EdgeType * > getIncomingEdges () const override
 
const std::vector< EdgeType * > getIncomingEdges (api::graph::LayerId layer) const override
 
const std::vector< typename EdgeType::NodeType * > inNeighbors () const override
 
const std::vector< typename EdgeType::NodeType * > inNeighbors (api::graph::LayerId) const override
 
const std::vector< EdgeType * > getOutgoingEdges () const override
 
const std::vector< EdgeType * > getOutgoingEdges (api::graph::LayerId layer) const override
 
const std::vector< typename EdgeType::NodeType * > outNeighbors () const override
 
const std::vector< typename EdgeType::NodeType * > outNeighbors (api::graph::LayerId) const override
 
void linkIn (EdgeType *edge) override
 
void linkOut (EdgeType *edge) override
 
void unlinkIn (EdgeType *edge) override
 
void unlinkOut (EdgeType *edge) override
 
virtual IdType getId () const =0
 
virtual float getWeight () const =0
 
virtual void setWeight (float weight)=0
 
virtual const std::vector< EdgeType * > getIncomingEdges () const =0
 
virtual const std::vector< EdgeType * > getIncomingEdges (LayerId layer_id) const =0
 
virtual const std::vector< typename EdgeType::NodeType * > inNeighbors () const =0
 
virtual const std::vector< typename EdgeType::NodeType * > inNeighbors (LayerId layer_id) const =0
 
virtual const std::vector< EdgeType * > getOutgoingEdges () const =0
 
virtual const std::vector< EdgeType * > getOutgoingEdges (LayerId layer_id) const =0
 
virtual const std::vector< typename EdgeType::NodeType * > outNeighbors () const =0
 
virtual const std::vector< typename EdgeType::NodeType * > outNeighbors (LayerId layer_id) const =0
 
virtual void linkIn (EdgeType *edge)=0
 
virtual void linkOut (EdgeType *edge)=0
 
virtual void unlinkIn (EdgeType *edge)=0
 
virtual void unlinkOut (EdgeType *edge)=0
 

Additional Inherited Members

- Public Types inherited from fpmas::api::graph::Node< _IdType, _EdgeType >
typedef _IdType IdType
 
typedef _EdgeType EdgeType
 

Detailed Description

template<typename _IdType, typename _EdgeType>
class fpmas::graph::Node< _IdType, _EdgeType >

api::graph::Node implementation.

Constructor & Destructor Documentation

◆ Node()

template<typename _IdType , typename _EdgeType >
fpmas::graph::Node< _IdType, _EdgeType >::Node ( const IdType id)
inline

Node constructor.

The Node is initialized with a default weight of 1.

Parameters
idnode id

◆ ~Node()

template<typename _IdType , typename _EdgeType >
virtual fpmas::graph::Node< _IdType, _EdgeType >::~Node ( )
inlinevirtual

Member Function Documentation

◆ getId()

template<typename _IdType , typename _EdgeType >
IdType fpmas::graph::Node< _IdType, _EdgeType >::getId ( ) const
inlineoverridevirtual

ID of the Node.

Returns
node's ID

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ getWeight()

template<typename _IdType , typename _EdgeType >
float fpmas::graph::Node< _IdType, _EdgeType >::getWeight ( ) const
inlineoverridevirtual

Weight of the Node.

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

Returns
node's weight

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ setWeight()

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

Sets the weight of the Node.

Parameters
weightnew weight

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ getIncomingEdges() [1/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType * > fpmas::graph::Node< IdType, EdgeType >::getIncomingEdges ( ) const
overridevirtual

Returns a vector containing pointers to all the incoming edges of this node.

Returns
pointers to incoming edges

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ getIncomingEdges() [2/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType * > fpmas::graph::Node< IdType, EdgeType >::getIncomingEdges ( api::graph::LayerId  layer_id) const
overridevirtual

Returns a vector containing pointers to the incoming edges of this node on the specified layer.

Parameters
layer_idlayer ID
Returns
pointers to incoming edges

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ inNeighbors() [1/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType::NodeType * > fpmas::graph::Node< IdType, EdgeType >::inNeighbors ( ) const
overridevirtual

Returns a vector containing pointers to all the nodes connected to this node with an incoming edge, as returned by getIncomingEdges().

Returns
pointers to incoming neighbors

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ inNeighbors() [2/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType::NodeType * > fpmas::graph::Node< IdType, EdgeType >::inNeighbors ( api::graph::LayerId  layer_id) const
overridevirtual

Returns a vector containing pointers to the nodes connected to this node with an incoming edge on the specified layer, as returned by getIncomingEdges(layer_id).

Parameters
layer_idlayer ID
Returns
pointers to incoming neighbors

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ getOutgoingEdges() [1/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType * > fpmas::graph::Node< IdType, EdgeType >::getOutgoingEdges ( ) const
overridevirtual

Returns a vector containing pointers to all the outgoing edges of this node.

Returns
pointers to outgoing edges

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ getOutgoingEdges() [2/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType * > fpmas::graph::Node< IdType, EdgeType >::getOutgoingEdges ( api::graph::LayerId  layer_id) const
overridevirtual

Returns a vector containing pointers to the outgoing edges of this node on the specified layer.

Parameters
layer_idlayer ID
Returns
pointers to outgoing edges

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ outNeighbors() [1/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType::NodeType * > fpmas::graph::Node< IdType, EdgeType >::outNeighbors ( ) const
overridevirtual

Returns a vector containing pointers to all the nodes connected to this node with an outgoing edge, as returned by getOutgoingEdges().

Returns
pointers to outgoing neighbors

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ outNeighbors() [2/2]

template<typename IdType , typename EdgeType >
const std::vector< typename Node< IdType, EdgeType >::EdgeType::NodeType * > fpmas::graph::Node< IdType, EdgeType >::outNeighbors ( api::graph::LayerId  layer_id) const
overridevirtual

Returns a vector containing pointers to the nodes connected to this node with an outgoing edge on the specified layer, as returned by getOutgoingEdges(layer_id).

Parameters
layer_idlayer ID
Returns
pointers to outgoing neighbors

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ linkIn()

template<typename IdType , typename EdgeType >
void fpmas::graph::Node< IdType, EdgeType >::linkIn ( EdgeType edge)
overridevirtual

Links the specified incoming edge to this node.

Once the node is linked, it should be returned in the following lists :

Parameters
edgeincoming edge to link

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ linkOut()

template<typename IdType , typename EdgeType >
void fpmas::graph::Node< IdType, EdgeType >::linkOut ( EdgeType edge)
overridevirtual

Links the specified outgoing edge to this node.

Once the node is linked, it should be returned in the following lists :

Parameters
edgeoutgoing edge to link

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ unlinkIn()

template<typename IdType , typename EdgeType >
void fpmas::graph::Node< IdType, EdgeType >::unlinkIn ( EdgeType edge)
overridevirtual

Unlinks the specified incoming edge from this node.

Once the node is unlinked, it should not be returned anymore by the following functions :

Parameters
edgeincoming edge to unlink

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.

◆ unlinkOut()

template<typename IdType , typename EdgeType >
void fpmas::graph::Node< IdType, EdgeType >::unlinkOut ( EdgeType edge)
overridevirtual

Unlinks the specified outgoing edge from this node.

Once the node is unlinked, it should not be returned anymore by the following functions :

Parameters
edgeoutgoing edge to unlink

Implements fpmas::api::graph::Node< _IdType, _EdgeType >.


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