DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Protected Attributes | List of all members
Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut > Class Template Reference

#include <GraphSearch.hh>

Public Types

typedef TContainer Container
 
typedef TAccumulator Accumulator
 
typedef TMark Mark
 
typedef TIncidentEdges IncidentEdges
 
typedef TOpposite Opposite
 
typedef TSolution Solution
 
typedef TPathCut PathCut
 
typedef IncidentEdges::Graph Graph
 
typedef IncidentEdges::Node Node
 

Public Member Functions

 GraphSearch (Graph &graph, const Container &nodes, const Opposite &opposite, Solution &s, PathCut &cut, Accumulator &results)
 
virtual ~GraphSearch ()
 
const AccumulatorcurrentResults ()
 
virtual void initialize ()
 
bool updated () const
 

Protected Attributes

bool _updated
 
Mark _m
 
Graph_graph
 
const Container_nodes
 
const Opposite_opposite
 
Solution_s
 
PathCut_cut
 
Accumulator_results
 

Detailed Description

template<typename TIncidentEdges, typename TOpposite, typename TContainer, typename TAccumulator, typename TMark, typename TSolution, typename TPathCut>
class Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >

This class is the based class to implement derived seraches on graphs like BFS and DFS. This class is a template with several template attributes, listed below:

Definition at line 51 of file GraphSearch.hh.

Member Typedef Documentation

◆ Accumulator

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TAccumulator Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Accumulator

Definition at line 56 of file GraphSearch.hh.

◆ Container

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TContainer Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Container

Definition at line 55 of file GraphSearch.hh.

◆ Graph

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef IncidentEdges::Graph Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Graph

Definition at line 62 of file GraphSearch.hh.

◆ IncidentEdges

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TIncidentEdges Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::IncidentEdges

Definition at line 58 of file GraphSearch.hh.

◆ Mark

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TMark Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Mark

Definition at line 57 of file GraphSearch.hh.

◆ Node

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef IncidentEdges::Node Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Node

Definition at line 63 of file GraphSearch.hh.

◆ Opposite

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TOpposite Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Opposite

Definition at line 59 of file GraphSearch.hh.

◆ PathCut

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TPathCut Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::PathCut

Definition at line 61 of file GraphSearch.hh.

◆ Solution

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
typedef TSolution Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::Solution

Definition at line 60 of file GraphSearch.hh.

Constructor & Destructor Documentation

◆ GraphSearch()

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::GraphSearch ( Graph graph,
const Container nodes,
const Opposite opposite,
Solution s,
PathCut cut,
Accumulator results 
)
inline

Constructor

Parameters
graphsee class description about IncidentEdges::Graph
nodessee class description about TContainer
oppositesee class description about TOpposite
ssee class description about TSolution
cutsee class description about TPathCut
resultssee class description about TAccumulator

Definition at line 76 of file GraphSearch.hh.

◆ ~GraphSearch()

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
virtual Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::~GraphSearch ( )
inlinevirtual

Destructor

Definition at line 90 of file GraphSearch.hh.

Member Function Documentation

◆ currentResults()

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
const Accumulator& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::currentResults ( )
inline

◆ initialize()

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
virtual void Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::initialize ( )
inlinevirtual

◆ updated()

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
bool Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::updated ( ) const
inline
Returns
true if the current results have been updated during the search

Definition at line 123 of file GraphSearch.hh.

References Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_updated.

Member Data Documentation

◆ _cut

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
PathCut& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_cut
protected

◆ _graph

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
Graph& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_graph
protected

◆ _m

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
Mark Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_m
protected

◆ _nodes

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
const Container& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_nodes
protected

Definition at line 130 of file GraphSearch.hh.

◆ _opposite

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
const Opposite& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_opposite
protected

◆ _results

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
Accumulator& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_results
protected

◆ _s

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
Solution& Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_s
protected

◆ _updated

template<typename TIncidentEdges , typename TOpposite , typename TContainer , typename TAccumulator , typename TMark , typename TSolution , typename TPathCut >
bool Diades::Graph::GraphSearch< TIncidentEdges, TOpposite, TContainer, TAccumulator, TMark, TSolution, TPathCut >::_updated
protected

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