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

#include <has-bounded-lag.hh>

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

Public Member Functions

 bounded_lag_checker (const automaton_t &aut)
 
template<std::size_t I>
int get_size_tape (label_t l)
 
template<std::size_t... I>
void add_delay (delay_t &d, transition_t tr, seq< I... >)
 
void add_delay (delay_t &d, transition_t tr)
 
bool has_bounded_lag (state_t src)
 
bool has_bounded_lag ()
 

Private Types

enum  visit_state { NOT_VISITED, VISITING, VISITED }
 
using automaton_t = Aut
 
using state_t = state_t_of< automaton_t >
 
using labelset_t = labelset_t_of< automaton_t >
 
using label_t = typename labelset_t::value_t
 
using transition_t = transition_t_of< automaton_t >
 
using visited_t = std::vector< visit_state >
 
using parent_state_t = std::vector< transition_t >
 
template<std::size_t... I>
using seq = vcsn::detail::index_sequence< I... >
 A static list of integers. More...
 
using delay_index_t = detail::make_index_sequence< number_of_tapes-1 >
 
using delay_t = std::array< int, number_of_tapes-1 >
 The delay associated with each state. More...
 

Private Attributes

automaton_t aut_
 
visited_t v_
 
parent_state_t p_
 

Static Private Attributes

static constexpr size_t number_of_tapes = labelset_t_of<Aut>::size()
 

Detailed Description

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

Definition at line 19 of file has-bounded-lag.hh.

Member Typedef Documentation

template<Automaton Aut>
using vcsn::detail::bounded_lag_checker< Aut >::automaton_t = Aut
private

Definition at line 28 of file has-bounded-lag.hh.

Definition at line 52 of file has-bounded-lag.hh.

template<Automaton Aut>
using vcsn::detail::bounded_lag_checker< Aut >::delay_t = std::array<int, number_of_tapes - 1>
private

The delay associated with each state.

Definition at line 55 of file has-bounded-lag.hh.

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

Definition at line 31 of file has-bounded-lag.hh.

template<Automaton Aut>
using vcsn::detail::bounded_lag_checker< Aut >::labelset_t = labelset_t_of<automaton_t>
private

Definition at line 30 of file has-bounded-lag.hh.

template<Automaton Aut>
using vcsn::detail::bounded_lag_checker< Aut >::parent_state_t = std::vector<transition_t>
private

Definition at line 46 of file has-bounded-lag.hh.

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

A static list of integers.

Definition at line 50 of file has-bounded-lag.hh.

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

Definition at line 29 of file has-bounded-lag.hh.

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

Definition at line 32 of file has-bounded-lag.hh.

template<Automaton Aut>
using vcsn::detail::bounded_lag_checker< Aut >::visited_t = std::vector<visit_state>
private

Definition at line 43 of file has-bounded-lag.hh.

Member Enumeration Documentation

template<Automaton Aut>
enum vcsn::detail::bounded_lag_checker::visit_state
private
Enumerator
NOT_VISITED 
VISITING 
VISITED 

Definition at line 36 of file has-bounded-lag.hh.

Constructor & Destructor Documentation

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

Definition at line 60 of file has-bounded-lag.hh.

Member Function Documentation

template<Automaton Aut>
template<std::size_t... I>
void vcsn::detail::bounded_lag_checker< Aut >::add_delay ( delay_t d,
transition_t  tr,
seq< I... >   
)
inline
template<Automaton Aut>
void vcsn::detail::bounded_lag_checker< Aut >::add_delay ( delay_t d,
transition_t  tr 
)
inline

Definition at line 82 of file has-bounded-lag.hh.

References vcsn::detail::bounded_lag_checker< Aut >::add_delay().

Here is the call graph for this function:

template<Automaton Aut>
template<std::size_t I>
int vcsn::detail::bounded_lag_checker< Aut >::get_size_tape ( label_t  l)
inline

Definition at line 67 of file has-bounded-lag.hh.

References vcsn::rat::size().

Here is the call graph for this function:

template<Automaton Aut>
bool vcsn::detail::bounded_lag_checker< Aut >::has_bounded_lag ( )
inline

Member Data Documentation

template<Automaton Aut>
constexpr size_t vcsn::detail::bounded_lag_checker< Aut >::number_of_tapes = labelset_t_of<Aut>::size()
staticprivate

Definition at line 34 of file has-bounded-lag.hh.

template<Automaton Aut>
parent_state_t vcsn::detail::bounded_lag_checker< Aut >::p_
private
template<Automaton Aut>
visited_t vcsn::detail::bounded_lag_checker< Aut >::v_
private

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