DFA_base Class Template Reference

Base class for ASTL deterministic automaton containers. More...

#include <dfa_base.h>

Inheritance diagram for DFA_base:

DFA_bin DFA_map DFA_matrix_base DFA_matrix_base< CharTraits, Tag, unsigned int > DFA_matrix_base< CharTraits, Tag, unsigned short >

List of all members.

Public Types

typedef CharTraits char_traits
 Character traits describing char_type.
typedef CharTraits::char_type char_type
 The type of the transitions letters.
typedef StateType state_type
 The type of the automaton-states identifiers.
typedef TagType 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_typetag (state_type s) const
tag_typetag (state_type s)
unsigned long trans_count () const


Detailed Description

template<class CharTraits, class TagType, class StateData_, class StateType = unsigned int>
class astl::DFA_base< CharTraits, TagType, StateData_, StateType >

Base class for ASTL deterministic automaton containers.

It takes care of common functionalities dealing with states allocation/deallocation.


Member Function Documentation

const_iterator begin (  )  const

Returns:
a forward iterator on the beginning of the sequence of the automaton states of type 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 
)

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.

Precondition:
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  ) 

Destroyes the state s.

The tag and the transitions are destroyed.

Precondition:
s has been returned by a previous call to new_state()

state_type duplicate_state ( state_type  q  ) 

Allocates an exact copy of the state q.

Returns:
the id of the freshly allocated state
Precondition:
q has been returned by a previous call to new_state()

const_iterator end (  )  const

Returns:
a past-the-end forward iterator on the sequence of the automaton states.

char& final ( state_type  s  ) 

Returns:
a reference to a boolean that, if assigned true sets the state s to be a final state and if assigned false sets s to be a non-final state.
Precondition:
s has been returned by a previous call to new_state()

bool final ( state_type  s  )  const

Returns:
true if s is a final state.
Precondition:
s has been returned by a previous call to new_state()

state_type initial (  )  const

void initial ( state_type  s  ) 

Sets the initial state of the automaton to s.

Precondition:
s has been returned by a previous call to new_state()
Postcondition:
 initial() == s 

state_type new_state (  ) 

Allocates a new state structure.

The newly created state is non-final and has no transitions. The tag is default-constructed.

Returns:
the id of the freshly allocated state

unsigned long state_count (  )  const

Returns:
the number of states in the automaton

const tag_type& tag ( state_type  s  )  const

Returns:
the data attached to the state s
Precondition:
s has been returned by a previous call to new_state()

tag_type& tag ( state_type  s  ) 

Returns:
the data attached to the state s
Precondition:
s has been returned by a previous call to new_state()

unsigned long trans_count (  )  const

Returns:
the number of transitions in the automaton


Generated on Sun Mar 8 02:41:35 2009 for ASTL by  doxygen 1.5.7.1