Vcsn  2.2
Be Rational
vcsn::are_isomorphicer< 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::are_isomorphicer< 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 Member Functions

 full_response ()
 

Public Attributes

enum vcsn::are_isomorphicer::full_response::tag response
 
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::are_isomorphicer< 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 110 of file are-isomorphic.hh.

Member Enumeration Documentation

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

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

Constructor & Destructor Documentation

template<Automaton Aut1, Automaton Aut2>
vcsn::are_isomorphicer< Aut1, Aut2 >::full_response::full_response ( )
inline

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

Member Data Documentation

template<Automaton Aut1, Automaton Aut2>
pair_t vcsn::are_isomorphicer< Aut1, Aut2 >::full_response::counterexample

Only meaningful if the tag is tag::counterexample.

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

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


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