Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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_ ()
 
bool transition_less_than_ (const input_transition_t t1, const input_transition_t t2) const ATTRIBUTE_PURE
 

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<typename Aut>
class vcsn::detail::sorter< Aut >

A function to sort an automaton.

Definition at line 71 of file sort.hh.

Member Typedef Documentation

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

Result automaton type.

Definition at line 80 of file sort.hh.

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

Input automaton type.

Definition at line 74 of file sort.hh.

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

Definition at line 76 of file sort.hh.

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

Definition at line 77 of file sort.hh.

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

Definition at line 81 of file sort.hh.

Constructor & Destructor Documentation

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

Definition at line 84 of file sort.hh.

Member Function Documentation

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

Definition at line 88 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<typename Aut>
void vcsn::detail::sorter< Aut >::push_inaccessible_states_ ( )
inlineprivate

Definition at line 143 of file sort.hh.

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

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

template<typename Aut>
bool vcsn::detail::sorter< Aut >::transition_less_than_ ( const input_transition_t  t1,
const input_transition_t  t2 
) const
inlineprivate
template<typename Aut>
void vcsn::detail::sorter< Aut >::visit_and_update_res_ ( )
inlineprivate

Definition at line 97 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<typename Aut>
void vcsn::detail::sorter< Aut >::visit_successors_of_ ( input_state_t  s,
state_t  res_s 
)
inlineprivate

Definition at line 107 of file sort.hh.

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

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

Here is the call graph for this function:

Member Data Documentation

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

Definition at line 177 of file sort.hh.

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

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

Definition at line 178 of file sort.hh.

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


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