Vcsn  2.3
Be Rational
vcsn::detail::synchronize_checker< Aut > Class Template Reference

#include <is-synchronized.hh>

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

Public Types

using automaton_t = Aut
 
using out_automaton_t = delay_automaton< automaton_t >
 
using state_t = state_t_of< automaton_t >
 
using labelset_t = labelset_t_of< out_automaton_t >
 
using label_t = typename labelset_t::value_t
 
using delay_t = typename out_automaton_t::element_type::delay_t
 
using state_name_t = typename out_automaton_t::element_type::state_name_t
 
template<size_t I>
using tape_labelset_t = typename labelset_t::template valueset_t< I >
 
template<std::size_t... I>
using seq = vcsn::detail::index_sequence< I... >
 A static list of integers. More...
 

Public Member Functions

 synchronize_checker (const automaton_t &aut)
 
bool is_synchronized ()
 Whether the transducer is synchronized. More...
 
out_automaton_t make_delay_automaton ()
 

Private Member Functions

void value_automaton ()
 
template<size_t... I>
delay_t add_delay_ (delay_t d, const label_t &l, seq< I... >) const
 Add the delay of label l to d. More...
 

Private Attributes

automaton_t in_aut_
 
out_automaton_t out_aut_
 

Detailed Description

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

Definition at line 171 of file is-synchronized.hh.

Member Typedef Documentation

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

Definition at line 177 of file is-synchronized.hh.

template<Automaton Aut>
using vcsn::detail::synchronize_checker< Aut >::delay_t = typename out_automaton_t::element_type::delay_t

Definition at line 182 of file is-synchronized.hh.

template<Automaton Aut>
using vcsn::detail::synchronize_checker< Aut >::label_t = typename labelset_t::value_t

Definition at line 181 of file is-synchronized.hh.

Definition at line 180 of file is-synchronized.hh.

Definition at line 178 of file is-synchronized.hh.

template<Automaton Aut>
template<std::size_t... I>
using vcsn::detail::synchronize_checker< Aut >::seq = vcsn::detail::index_sequence<I...>

A static list of integers.

Definition at line 190 of file is-synchronized.hh.

template<Automaton Aut>
using vcsn::detail::synchronize_checker< Aut >::state_name_t = typename out_automaton_t::element_type::state_name_t

Definition at line 183 of file is-synchronized.hh.

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

Definition at line 179 of file is-synchronized.hh.

template<Automaton Aut>
template<size_t I>
using vcsn::detail::synchronize_checker< Aut >::tape_labelset_t = typename labelset_t::template valueset_t<I>

Definition at line 186 of file is-synchronized.hh.

Constructor & Destructor Documentation

template<Automaton Aut>
vcsn::detail::synchronize_checker< Aut >::synchronize_checker ( const automaton_t aut)
inline

Definition at line 193 of file is-synchronized.hh.

Member Function Documentation

template<Automaton Aut>
template<size_t... I>
delay_t vcsn::detail::synchronize_checker< Aut >::add_delay_ ( delay_t  d,
const label_t l,
seq< I... >   
) const
inlineprivate

Add the delay of label l to d.

Definition at line 270 of file is-synchronized.hh.

template<Automaton Aut>
bool vcsn::detail::synchronize_checker< Aut >::is_synchronized ( )
inline

Whether the transducer is synchronized.

In a synchronized transducer, every state has delay 0, except for some series of states leading to a final state with ever-increasing (strictly except for one-transitions) delay.

Definition at line 204 of file is-synchronized.hh.

template<Automaton Aut>
out_automaton_t vcsn::detail::synchronize_checker< Aut >::make_delay_automaton ( )
inline

Definition at line 230 of file is-synchronized.hh.

template<Automaton Aut>
void vcsn::detail::synchronize_checker< Aut >::value_automaton ( )
inlineprivate

Definition at line 243 of file is-synchronized.hh.

Member Data Documentation

template<Automaton Aut>
automaton_t vcsn::detail::synchronize_checker< Aut >::in_aut_
private

Definition at line 278 of file is-synchronized.hh.

template<Automaton Aut>
out_automaton_t vcsn::detail::synchronize_checker< Aut >::out_aut_
private

Definition at line 279 of file is-synchronized.hh.


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