Vcsn  2.2
Be Rational
vcsn::detail::sorter< Aut > Class Template Reference

A function to sort an automaton. More...

#include <sort.hh>

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

Public Member Functions

 sorter (const input_automaton_t &a)
 
automaton_t operator() ()
 

Private Types

using input_automaton_t = Aut
 Input automaton type. More...
 
using input_state_t = state_t_of< input_automaton_t >
 
using input_transition_t = transition_t_of< input_automaton_t >
 
using automaton_t = permutation_automaton< input_automaton_t >
 Result automaton type. More...
 
using state_t = state_t_of< automaton_t >
 

Private Member Functions

void visit_and_update_res_ ()
 
void visit_successors_of_ (input_state_t s, state_t res_s)
 
void push_inaccessible_states_ ()
 

Private Attributes

automaton_t res_
 Sorted automaton. More...
 
const labelset_t_of< input_automaton_t > & ls_ = *res_->input_->labelset()
 
const weightset_t_of< input_automaton_t > & ws_ = *res_->input_->weightset()
 

Detailed Description

template<Automaton Aut>
class vcsn::detail::sorter< Aut >

A function to sort an automaton.

Definition at line 92 of file sort.hh.

Member Typedef Documentation

template<Automaton Aut>
using vcsn::detail::sorter< Aut >::automaton_t = permutation_automaton<input_automaton_t>
private

Result automaton type.

Definition at line 101 of file sort.hh.

template<Automaton Aut>
using vcsn::detail::sorter< Aut >::input_automaton_t = Aut
private

Input automaton type.

Definition at line 95 of file sort.hh.

template<Automaton Aut>
using vcsn::detail::sorter< Aut >::input_state_t = state_t_of<input_automaton_t>
private

Definition at line 97 of file sort.hh.

template<Automaton Aut>
using vcsn::detail::sorter< Aut >::input_transition_t = transition_t_of<input_automaton_t>
private

Definition at line 98 of file sort.hh.

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

Definition at line 102 of file sort.hh.

Constructor & Destructor Documentation

template<Automaton Aut>
vcsn::detail::sorter< Aut >::sorter ( const input_automaton_t a)
inline

Definition at line 105 of file sort.hh.

Member Function Documentation

template<Automaton Aut>
automaton_t vcsn::detail::sorter< Aut >::operator() ( )
inline

Definition at line 109 of file sort.hh.

References vcsn::detail::sorter< Aut >::push_inaccessible_states_(), vcsn::detail::sorter< Aut >::res_, and vcsn::detail::sorter< Aut >::visit_and_update_res_().

Here is the call graph for this function:

template<Automaton Aut>
void vcsn::detail::sorter< Aut >::push_inaccessible_states_ ( )
inlineprivate

Definition at line 145 of file sort.hh.

References vcsn::detail::sorter< Aut >::res_.

Referenced by vcsn::detail::sorter< Aut >::operator()().

template<Automaton Aut>
void vcsn::detail::sorter< Aut >::visit_and_update_res_ ( )
inlineprivate

Definition at line 118 of file sort.hh.

References vcsn::detail::sorter< Aut >::res_, and vcsn::detail::sorter< Aut >::visit_successors_of_().

Referenced by vcsn::detail::sorter< Aut >::operator()().

Here is the call graph for this function:

template<Automaton Aut>
void vcsn::detail::sorter< Aut >::visit_successors_of_ ( input_state_t  s,
state_t  res_s 
)
inlineprivate

Definition at line 128 of file sort.hh.

References vcsn::detail::all_out(), vcsn::detail::sorter< Aut >::res_, and vcsn::dyn::detail::sort().

Referenced by vcsn::detail::sorter< Aut >::visit_and_update_res_().

Here is the call graph for this function:

Member Data Documentation

template<Automaton Aut>
const labelset_t_of<input_automaton_t>& vcsn::detail::sorter< Aut >::ls_ = *res_->input_->labelset()
private

Definition at line 155 of file sort.hh.

template<Automaton Aut>
const weightset_t_of<input_automaton_t>& vcsn::detail::sorter< Aut >::ws_ = *res_->input_->weightset()
private

Definition at line 156 of file sort.hh.


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