#include <dfa_matrix.h>

Public Types | |
| typedef CharTraits | char_traits |
| Character traits describing char_type. | |
| typedef CharTraits::char_type | char_type |
| The type of the transitions letters. | |
| typedef unsigned int | state_type |
| The type of the automaton-states identifiers. | |
| typedef Tag | tag_type |
| The type of the data attached to states. | |
Public Member Functions | |
| const_iterator | begin () const |
| void | copy_state (state_type from, state_type to) |
Makes the state to an exact copy of the state from. | |
| void | del_state (state_type s) |
Destroyes the state s. | |
| state_type | duplicate_state (state_type q) |
Allocates an exact copy of the state q. | |
| const_iterator | end () const |
| char & | final (state_type s) |
| bool | final (state_type s) const |
| state_type | initial () const |
| void | initial (state_type s) |
Sets the initial state of the automaton to s. | |
| state_type | new_state () |
| Allocates a new state structure. | |
| unsigned long | state_count () const |
| const tag_type & | tag (state_type s) const |
| tag_type & | tag (state_type s) |
| unsigned long | trans_count () const |
It has a fast constant-time access to transitions but tends to consume too much memory space when the matrix is sparse. It is also not recommended for depth- or breadth-first traversals.
This container is advisable for efficient pattern matching and for almost nothing else.
The constant-time access to transitions is provided by the character traits through the mapping between the alphabet and the integers implemented by CharTraits::to_char_type() and CharTraits::to_int_type().
| Parameter | Description | Default | Requirements |
|---|---|---|---|
CharTraits | Character traits describing the letters that the transitions bear. | plain | CharTraits is a model of EnumerableAlphabet |
Tag | The type of the data attached to states. | empty_tag |
| const_iterator begin | ( | ) | const [inherited] |
state_type arranged in an undefined order (probably in allocation order but that is not a requirement). | void copy_state | ( | state_type | from, | |
| state_type | to | |||
| ) | [inherited] |
Makes the state to an exact copy of the state from.
The tag and the transitions of to are destroyed and the new ones are copy-constructed from those of from.
from has been returned by a previous call to new_state()
to has been returned by a previous call to new_state()
| void del_state | ( | state_type | s | ) | [inherited] |
Destroyes the state s.
The tag and the transitions are destroyed.
s has been returned by a previous call to new_state() | state_type duplicate_state | ( | state_type | q | ) | [inherited] |
Allocates an exact copy of the state q.
q has been returned by a previous call to new_state() | const_iterator end | ( | ) | const [inherited] |
| char& final | ( | state_type | s | ) | [inherited] |
true sets the state s to be a final state and if assigned false sets s to be a non-final state. s has been returned by a previous call to new_state() | bool final | ( | state_type | s | ) | const [inherited] |
true if s is a final state. s has been returned by a previous call to new_state() | state_type initial | ( | ) | const [inherited] |
Referenced by DFA_base< Sigma_, Tag_, std::vector< pair< Sigma_::char_traits::char_type, unsigned int > > >::del_state().
| void initial | ( | state_type | s | ) | [inherited] |
Sets the initial state of the automaton to s.
s has been returned by a previous call to new_state() initial() == s
| state_type new_state | ( | ) | [inherited] |
Allocates a new state structure.
The newly created state is non-final and has no transitions. The tag is default-constructed.
| unsigned long state_count | ( | ) | const [inherited] |
| const tag_type& tag | ( | state_type | s | ) | const [inherited] |
s s has been returned by a previous call to new_state() | tag_type& tag | ( | state_type | s | ) | [inherited] |
s s has been returned by a previous call to new_state() | unsigned long trans_count | ( | ) | const [inherited] |
1.5.7.1