MCPcopy Create free account
hub / github.com/Gecode/gecode / DFA

Class DFA

gecode/int.hh:2184–2310  ·  view source on GitHub ↗

* \brief Deterministic finite automaton (%DFA) * * After initialization, the start state is always zero. * The final states are contiguous ranging from the first to the * last final state. * * \ingroup TaskModelIntExt */

Source from the content-addressed store, hash-verified

2182 * \ingroup TaskModelIntExt
2183 */
2184 class DFA : public SharedHandle {
2185 private:
2186 /// Implementation of DFA
2187 class DFAI;
2188 /// Test whether DFA is equal to \a d
2189 GECODE_INT_EXPORT
2190 bool equal(const DFA& d) const;
2191 public:
2192 /// Specification of a %DFA transition
2193 class Transition {
2194 public:
2195 int i_state; ///< input state
2196 int symbol; ///< symbol
2197 int o_state; ///< output state
2198 /// Default constructor
2199 Transition(void);
2200 /// Initialize members
2201 Transition(int i_state0, int symbol0, int o_state0);
2202 };
2203 /// Iterator for %DFA transitions (sorted by symbols)
2204 class Transitions {
2205 private:
2206 /// Current transition
2207 const Transition* c_trans;
2208 /// End of transitions
2209 const Transition* e_trans;
2210 public:
2211 /// Initialize to all transitions of DFA \a d
2212 Transitions(const DFA& d);
2213 /// Initialize to transitions of DFA \a d for symbol \a n
2214 Transitions(const DFA& d, int n);
2215 /// Test whether iterator still at a transition
2216 bool operator ()(void) const;
2217 /// Move iterator to next transition
2218 void operator ++(void);
2219 /// Return in-state of current transition
2220 int i_state(void) const;
2221 /// Return symbol of current transition
2222 int symbol(void) const;
2223 /// Return out-state of current transition
2224 int o_state(void) const;
2225 };
2226 /// Iterator for %DFA symbols
2227 class Symbols {
2228 private:
2229 /// Current transition
2230 const Transition* c_trans;
2231 /// End of transitions
2232 const Transition* e_trans;
2233 public:
2234 /// Initialize to symbols of DFA \a d
2235 Symbols(const DFA& d);
2236 /// Test whether iterator still at a symbol
2237 bool operator ()(void) const;
2238 /// Move iterator to next symbol
2239 void operator ++(void);
2240 /// Return current symbol
2241 int val(void) const;

Callers 1

reg.cppFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected