Vcsn  2.3a
Be Rational
vcsn::detail::is_ambiguous_impl< Aut > Struct Template Reference

Whether an automaton is ambiguous. More...

#include <is-ambiguous.hh>

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

Public Types

using automaton_t = Aut
 
using conjunction_t = decltype(conjunction(std::declval< automaton_t >(), std::declval< automaton_t >()))
 
using word_t = word_t_of< automaton_t >
 

Public Member Functions

 is_ambiguous_impl (const automaton_t &aut)
 Constructor. More...
 
bool operator() ()
 Whether an automaton is ambiguous. More...
 
word_t ambiguous_word ()
 

Public Attributes

conjunction_t conj_
 The self-conjunction of the input automaton. More...
 
state_t_of< conjunction_twitness_ = conj_->null_state()
 State index in the conjunction of a state that is not on the diagonal. More...
 

Detailed Description

template<Automaton Aut>
struct vcsn::detail::is_ambiguous_impl< Aut >

Whether an automaton is ambiguous.

Definition at line 21 of file is-ambiguous.hh.

Member Typedef Documentation

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

Definition at line 23 of file is-ambiguous.hh.

template<Automaton Aut>
using vcsn::detail::is_ambiguous_impl< Aut >::conjunction_t = decltype(conjunction(std::declval<automaton_t>(), std::declval<automaton_t>()))

Definition at line 26 of file is-ambiguous.hh.

template<Automaton Aut>
using vcsn::detail::is_ambiguous_impl< Aut >::word_t = word_t_of<automaton_t>

Definition at line 27 of file is-ambiguous.hh.

Constructor & Destructor Documentation

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

Constructor.

Parameters
[in]autthe automaton to study.

Definition at line 31 of file is-ambiguous.hh.

References vcsn::detail::conjunction().

Here is the call graph for this function:

Member Function Documentation

template<Automaton Aut>
word_t vcsn::detail::is_ambiguous_impl< Aut >::ambiguous_word ( )
inline

Definition at line 55 of file is-ambiguous.hh.

References vcsn::detail::is_ambiguous_impl< Aut >::conj_, vcsn::detail::make_wordset(), vcsn::require(), vcsn::shortest(), and vcsn::detail::is_ambiguous_impl< Aut >::witness_.

Here is the call graph for this function:

template<Automaton Aut>
bool vcsn::detail::is_ambiguous_impl< Aut >::operator() ( )
inline

Whether an automaton is ambiguous.

Returns
whether ambiguous.

Definition at line 39 of file is-ambiguous.hh.

References vcsn::coaccessible(), vcsn::coaccessible_states(), vcsn::detail::is_ambiguous_impl< Aut >::conj_, vcsn::has(), and vcsn::detail::is_ambiguous_impl< Aut >::witness_.

Here is the call graph for this function:

Member Data Documentation

template<Automaton Aut>
conjunction_t vcsn::detail::is_ambiguous_impl< Aut >::conj_

The self-conjunction of the input automaton.

Definition at line 73 of file is-ambiguous.hh.

Referenced by vcsn::detail::is_ambiguous_impl< Aut >::ambiguous_word(), and vcsn::detail::is_ambiguous_impl< Aut >::operator()().

template<Automaton Aut>
state_t_of<conjunction_t> vcsn::detail::is_ambiguous_impl< Aut >::witness_ = conj_->null_state()

State index in the conjunction of a state that is not on the diagonal.

Definition at line 76 of file is-ambiguous.hh.

Referenced by vcsn::detail::is_ambiguous_impl< Aut >::ambiguous_word(), and vcsn::detail::is_ambiguous_impl< Aut >::operator()().


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