regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t > Class Template Reference

#include <ExhaustiveDFAGenerator.hpp>

Inheritance diagram for regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >:

regal::AbstractExhaustiveGenerator< Automaton_t > regal::AbstractDFAGenerator< StateLabel_t, Sigma, Automaton_t > List of all members.

Public Member Functions

Automaton_t * end ()
 ExhaustiveDFAGenerator (const int &autSize, const Alphabet< Sigma > &alpha)
Automaton_t * first ()
int getFinalCounter ()
Automaton_t * next ()
Automaton_t * nextComplementary ()
virtual ~ExhaustiveDFAGenerator ()

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
class regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >


Constructor & Destructor Documentation

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::ExhaustiveDFAGenerator ( const int &  autSize,
const Alphabet< Sigma > &  alpha 
) [inline]

Create an exhaustive DFA Generator

Parameters:
autSize is the number of states in the generated automatons
alphaSize is the size of the alphabet in the generated automatons

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
virtual regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::~ExhaustiveDFAGenerator (  )  [inline, virtual]

Destroy the ExhaustiveDFAGenerator


Member Function Documentation

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
Automaton_t* regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::end (  )  [inline, virtual]

Returns an element that indicates the generation is over

Returns:
an element that indicates the generation is over

Implements regal::AbstractExhaustiveGenerator< Automaton_t >.

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
Automaton_t* regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::first (  )  [inline, virtual]

Returns the first generated automaton

Returns:
the first generated automaton

Implements regal::AbstractExhaustiveGenerator< Automaton_t >.

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
int regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::getFinalCounter (  )  [inline]

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
Automaton_t* regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::next (  )  [inline, virtual]

Returns the next generated automaton, and NULL if the generation has ended.

Returns:
the next generated automaton, and NULL if the generation has ended.

Implements regal::AbstractExhaustiveGenerator< Automaton_t >.

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
Automaton_t* regal::ExhaustiveDFAGenerator< StateLabel_t, Sigma, Automaton_t >::nextComplementary (  )  [inline]

Returns the next generated automaton, and NULL if the generation has ended. This iterator is special because it only doesn't return automata with more than n/2 final states. Therefore, only half of the set is generated, and the other half is the complementary of the first.

Returns:
the next generated automaton, and NULL if the generation has ended.


The documentation for this class was generated from the following file:
Generated on Mon Sep 29 16:33:59 2008 for REGAL by  doxygen 1.5.1