Vcsn  2.8
Be Rational
vcsn::detail::a_star_impl< Aut > Struct Template Reference

A Star implementation of lightest automaton. More...

#include <a-star.hh>

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

Classes

struct  profile
 

Public Types

using automaton_t = Aut
 
using self_t = a_star_impl
 
using state_t = state_t_of< automaton_t >
 
using transition_t = transition_t_of< automaton_t >
 
using weight_t = weight_t_of< automaton_t >
 
using weightset_t = weightset_t_of< automaton_t >
 
using distance_t = std::vector< weight_t >
 
using heap_t = vcsn::min_fibonacci_heap< profile >
 

Public Member Functions

 a_star_impl (const Aut &aut)
 
template<typename Heuristic >
predecessors_t_of< automaton_toperator() (state_t source, state_t dest, Heuristic heuristic)
 

Public Attributes

const automaton_taut_
 
predecessors_t_of< automaton_tres_
 For each state, its predecessor. More...
 
distance_t heuristic_dist_
 

Private Member Functions

void show_heap_ (const heap_t &todo)
 

Detailed Description

template<Automaton Aut>
struct vcsn::detail::a_star_impl< Aut >

A Star implementation of lightest automaton.

Functor taking an automaton and an a-star heuristic as parameter, applying a-star on the given automaton with the given heuristic. Return an array corresponding to the lightest 'in' transition of every state indexed by their state number.

Definition at line 29 of file a-star.hh.

Member Typedef Documentation

◆ automaton_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::automaton_t = Aut

Definition at line 31 of file a-star.hh.

◆ distance_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::distance_t = std::vector<weight_t>

Definition at line 37 of file a-star.hh.

◆ heap_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::heap_t = vcsn::min_fibonacci_heap<profile>

Definition at line 79 of file a-star.hh.

◆ self_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::self_t = a_star_impl

Definition at line 32 of file a-star.hh.

◆ state_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::state_t = state_t_of<automaton_t>

Definition at line 33 of file a-star.hh.

◆ transition_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::transition_t = transition_t_of<automaton_t>

Definition at line 34 of file a-star.hh.

◆ weight_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::weight_t = weight_t_of<automaton_t>

Definition at line 35 of file a-star.hh.

◆ weightset_t

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::weightset_t = weightset_t_of<automaton_t>

Definition at line 36 of file a-star.hh.

Constructor & Destructor Documentation

◆ a_star_impl()

template<Automaton Aut>
vcsn::detail::a_star_impl< Aut >::a_star_impl ( const Aut &  aut)
inline

Definition at line 39 of file a-star.hh.

Member Function Documentation

◆ operator()()

template<Automaton Aut>
template<typename Heuristic >
predecessors_t_of<automaton_t> vcsn::detail::a_star_impl< Aut >::operator() ( state_t  source,
state_t  dest,
Heuristic  heuristic 
)
inline

Definition at line 83 of file a-star.hh.

References vcsn::detail::all_out(), vcsn::has(), vcsn::rat::size(), and vcsn::detail::states_size().

Here is the call graph for this function:

◆ show_heap_()

template<Automaton Aut>
void vcsn::detail::a_star_impl< Aut >::show_heap_ ( const heap_t todo)
inlineprivate

Definition at line 129 of file a-star.hh.

Member Data Documentation

◆ aut_

template<Automaton Aut>
const automaton_t& vcsn::detail::a_star_impl< Aut >::aut_

Definition at line 142 of file a-star.hh.

◆ heuristic_dist_

template<Automaton Aut>
distance_t vcsn::detail::a_star_impl< Aut >::heuristic_dist_

Definition at line 145 of file a-star.hh.

◆ res_

template<Automaton Aut>
predecessors_t_of<automaton_t> vcsn::detail::a_star_impl< Aut >::res_

For each state, its predecessor.

Definition at line 144 of file a-star.hh.


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