Vcsn  2.5
Be Rational
vcsn::detail::shortest_path_tree< Aut > Class Template Reference

Shortest Path Tree. More...

#include <shortest-path-tree.hh>

Collaboration diagram for vcsn::detail::shortest_path_tree< Aut >:

Public Member Functions

 shortest_path_tree (const automaton_t &aut, state_t root)
 
void add (const dijkstra_node_t &n)
 
void set_parent_of (state_t s, state_t parent)
 
weight_t get_weight_of (state_t s)
 
dijkstra_node_tget_node_of (state_t s)
 
state_t get_parent_of (state_t s)
 
state_t get_parent_of (state_t s) const
 
state_t get_root () const
 
dijkstra_node_toperator[] (state_t s)
 

Private Types

using automaton_t = Aut
 
using state_t = state_t_of< automaton_t >
 
using weight_t = weight_t_of< automaton_t >
 
using dijkstra_node_t = dijkstra_node< automaton_t >
 
using dijkstra_map_t = std::unordered_map< state_t, dijkstra_node_t >
 

Private Attributes

dijkstra_map_t states_
 
state_t root_
 
const automaton_taut_
 

Detailed Description

template<typename Aut>
class vcsn::detail::shortest_path_tree< Aut >

Shortest Path Tree.

Represents the tree of nodes in the graph with each node's parent being their lightest successor in the automaton (the path is computed from destination to source).

Definition at line 18 of file shortest-path-tree.hh.

Member Typedef Documentation

◆ automaton_t

template<typename Aut>
using vcsn::detail::shortest_path_tree< Aut >::automaton_t = Aut
private

Definition at line 20 of file shortest-path-tree.hh.

◆ dijkstra_map_t

Definition at line 24 of file shortest-path-tree.hh.

◆ dijkstra_node_t

template<typename Aut>
using vcsn::detail::shortest_path_tree< Aut >::dijkstra_node_t = dijkstra_node<automaton_t>
private

Definition at line 23 of file shortest-path-tree.hh.

◆ state_t

template<typename Aut>
using vcsn::detail::shortest_path_tree< Aut >::state_t = state_t_of<automaton_t>
private

Definition at line 21 of file shortest-path-tree.hh.

◆ weight_t

template<typename Aut>
using vcsn::detail::shortest_path_tree< Aut >::weight_t = weight_t_of<automaton_t>
private

Definition at line 22 of file shortest-path-tree.hh.

Constructor & Destructor Documentation

◆ shortest_path_tree()

template<typename Aut>
vcsn::detail::shortest_path_tree< Aut >::shortest_path_tree ( const automaton_t aut,
state_t  root 
)
inline

Member Function Documentation

◆ add()

template<typename Aut>
void vcsn::detail::shortest_path_tree< Aut >::add ( const dijkstra_node_t n)
inline

◆ get_node_of()

◆ get_parent_of() [1/2]

◆ get_parent_of() [2/2]

template<typename Aut>
state_t vcsn::detail::shortest_path_tree< Aut >::get_parent_of ( state_t  s) const
inline

◆ get_root()

template<typename Aut>
state_t vcsn::detail::shortest_path_tree< Aut >::get_root ( ) const
inline

◆ get_weight_of()

◆ operator[]()

template<typename Aut>
dijkstra_node_t& vcsn::detail::shortest_path_tree< Aut >::operator[] ( state_t  s)
inline

◆ set_parent_of()

template<typename Aut>
void vcsn::detail::shortest_path_tree< Aut >::set_parent_of ( state_t  s,
state_t  parent 
)
inline

Definition at line 39 of file shortest-path-tree.hh.

References vcsn::detail::shortest_path_tree< Aut >::aut_, vcsn::has(), and vcsn::detail::shortest_path_tree< Aut >::states_.

Here is the call graph for this function:

Member Data Documentation

◆ aut_

◆ root_

template<typename Aut>
state_t vcsn::detail::shortest_path_tree< Aut >::root_
private

◆ states_


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