Vcsn  2.3
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 = boost::heap::fibonacci_heap< profile >
 

Public Member Functions

 a_star_impl (const Aut &aut)
 
template<typename Heuristic >
std::vector< transition_toperator() (state_t source, state_t dest, Heuristic heuristic)
 

Public Attributes

const automaton_taut_
 
std::vector< transition_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

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

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

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.

template<Automaton Aut>
using vcsn::detail::a_star_impl< Aut >::heap_t = boost::heap::fibonacci_heap<profile>

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

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

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

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.

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.

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.

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

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

template<Automaton Aut>
template<typename Heuristic >
std::vector<transition_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::detail::a_star_impl< Aut >::aut_, vcsn::has(), vcsn::detail::a_star_impl< Aut >::heuristic_dist_, vcsn::detail::a_star_impl< Aut >::res_, vcsn::rat::size(), and vcsn::detail::states_size().

Here is the call graph for this function:

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

template<Automaton Aut>
const automaton_t& vcsn::detail::a_star_impl< Aut >::aut_
template<Automaton Aut>
distance_t vcsn::detail::a_star_impl< Aut >::heuristic_dist_
template<Automaton Aut>
std::vector<transition_t> vcsn::detail::a_star_impl< Aut >::res_

For each state, its predecessor.

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

Referenced by vcsn::detail::a_star_impl< Aut >::operator()(), and vcsn::detail::a_star_impl< Aut >::profile::operator<().


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