Vcsn  2.8
Be Rational
vcsn::detail::are_isomorphic_impl< Aut1, Aut2 >::full_response Struct Reference

A datum specifying if two given automata are isomorphic, and why if they are not. More...

Collaboration diagram for vcsn::detail::are_isomorphic_impl< Aut1, Aut2 >::full_response:

Public Types

enum  tag {
  tag::never_computed = -1, tag::isomorphic = 0, tag::counterexample = 1, tag::nocounterexample = 2,
  tag::trivially_different = 3
}
 

Public Attributes

tag response = tag::never_computed
 
pair_t counterexample
 Only meaningful if the tag is tag::counterexample. More...
 
s1tos2_t s1tos2
 Only meaningful if the tag is tag::isomorphic. More...
 
s2tos1_t s2tos1
 

Detailed Description

template<Automaton Aut1, Automaton Aut2>
struct vcsn::detail::are_isomorphic_impl< Aut1, Aut2 >::full_response

A datum specifying if two given automata are isomorphic, and why if they are not.

This should be a variant record, but BOOST variants are not really suitable (this is not just a disjoint union: we also need a case tag), we don't like unions, and visitors are overkill. The thing might even get simpler when we generalize to non-sequential automata.

Definition at line 115 of file are-isomorphic.hh.

Member Enumeration Documentation

◆ tag

template<Automaton Aut1, Automaton Aut2>
enum vcsn::detail::are_isomorphic_impl::full_response::tag
strong
Enumerator
never_computed 
isomorphic 
counterexample 
nocounterexample 
trivially_different 

Definition at line 117 of file are-isomorphic.hh.

Member Data Documentation

◆ counterexample

template<Automaton Aut1, Automaton Aut2>
pair_t vcsn::detail::are_isomorphic_impl< Aut1, Aut2 >::full_response::counterexample
Initial value:
=
{ automaton1_t::element_type::null_state(),
automaton2_t::element_type::null_state() }

Only meaningful if the tag is tag::counterexample.

Definition at line 132 of file are-isomorphic.hh.

Referenced by vcsn::detail::are_isomorphic_impl< Aut1, Aut2 >::get_full_response_sequential().

◆ response

◆ s1tos2

◆ s2tos1


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