spot  1.1.3
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
spot::explicit_graph< State, Type > Class Template Reference

#include <tgba/tgbaexplicit.hh>

Inheritance diagram for spot::explicit_graph< State, Type >:
Inheritance graph
Collaboration diagram for spot::explicit_graph< State, Type >:
Collaboration graph

Public Types

typedef State::label_t label_t
 
typedef State::label_hash_t label_hash_t
 
typedef State::transitions_t transitions_t
 
typedef State::transition transition
 
typedef State state
 
typedef std::string(* to_string_func_t )(const label_t &t)
 

Public Member Functions

 explicit_graph (bdd_dict *dict)
 
State * add_default_init ()
 
size_t num_states () const
 
transitioncreate_transition (State *source, const State *dest)
 
transitioncreate_transition (const label_t &source, const label_t &dest)
 
transitionget_transition (const tgba_explicit_succ_iterator< State > *si)
 
transitionget_transition (const tgba_succ_iterator *si)
 
void add_condition (transition *t, const ltl::formula *f)
 
void add_conditions (transition *t, bdd f)
 This assumes that all variables in f are known from dict. More...
 
bool has_acceptance_condition (const ltl::formula *f) const
 
bool has_state (const label_t &name)
 
const State * get_state (const label_t &name)
 Return the state associated to a given label. More...
 
const label_tget_label (const State *s) const
 
const label_tget_label (const spot::state *s) const
 
void complement_all_acceptance_conditions ()
 
void merge_transitions ()
 
State * add_state (const label_t &name)
 
State * set_init_state (const label_t &state)
 
virtual ~explicit_graph ()
 
virtual State * get_init_state () const
 
virtual
tgba_explicit_succ_iterator
< State > * 
succ_iter (const spot::state *state, const spot::state *global_state=0, const tgba *global_automaton=0) const
 
void set_to_string_func (to_string_func_t f)
 
to_string_func_t get_to_string_func () const
 
virtual std::string format_state (const spot::state *state) const
 
void add_state_alias (const label_t &alias, const label_t &real)
 
void copy_acceptance_conditions_of (const tgba *a)
 Copy the acceptance conditions of a tgba. More...
 
void set_acceptance_conditions (bdd acc)
 Acceptance conditions handling. More...
 
void add_acceptance_condition (transition *t, const ltl::formula *f)
 
void add_acceptance_conditions (transition *t, bdd f)
 
virtual bdd all_acceptance_conditions () const
 
virtual bdd_dictget_dict () const
 
virtual bdd neg_acceptance_conditions () const
 
void declare_acceptance_condition (const ltl::formula *f)
 
bdd get_acceptance_condition (const ltl::formula *f)
 

Protected Types

typedef Sgi::hash_map< label_t,
State, label_hash_t
ls_map
 
typedef Sgi::hash_map< label_t,
State *, label_hash_t
alias_map
 
typedef Sgi::hash_map< const
State *, label_t, ptr_hash
< State > > 
sl_map
 

Protected Member Functions

virtual bdd compute_support_conditions (const spot::state *in) const
 
virtual bdd compute_support_variables (const spot::state *in) const
 

Protected Attributes

ls_map ls_
 
alias_map alias_
 
sl_map sl_
 
State * init_
 
bdd_dictdict_
 
bdd all_acceptance_conditions_
 
bool all_acceptance_conditions_computed_
 
bdd neg_acceptance_conditions_
 
to_string_func_t to_string_func_
 

Detailed Description

template<typename State, typename Type>
class spot::explicit_graph< State, Type >

Graph implementation for explicit automaton

Member Typedef Documentation

template<typename State, typename Type>
typedef Sgi::hash_map<label_t, State*, label_hash_t> spot::explicit_graph< State, Type >::alias_map
protected
template<typename State, typename Type>
typedef State::label_hash_t spot::explicit_graph< State, Type >::label_hash_t
template<typename State, typename Type>
typedef State::label_t spot::explicit_graph< State, Type >::label_t
template<typename State, typename Type>
typedef Sgi::hash_map<label_t, State, label_hash_t> spot::explicit_graph< State, Type >::ls_map
protected
template<typename State, typename Type>
typedef Sgi::hash_map<const State*, label_t, ptr_hash<State> > spot::explicit_graph< State, Type >::sl_map
protected
template<typename State, typename Type>
typedef State spot::explicit_graph< State, Type >::state
template<typename State, typename Type>
typedef std::string(* spot::explicit_graph< State, Type >::to_string_func_t)(const label_t &t)
template<typename State, typename Type>
typedef State::transition spot::explicit_graph< State, Type >::transition
template<typename State, typename Type>
typedef State::transitions_t spot::explicit_graph< State, Type >::transitions_t

Constructor & Destructor Documentation

template<typename State, typename Type>
spot::explicit_graph< State, Type >::explicit_graph ( bdd_dict dict)
inline
template<typename State, typename Type>
virtual spot::explicit_graph< State, Type >::~explicit_graph ( )
inlinevirtual

Member Function Documentation

template<typename State, typename Type>
void spot::explicit_graph< State, Type >::add_acceptance_condition ( transition t,
const ltl::formula f 
)
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::add_acceptance_conditions ( transition t,
bdd  f 
)
inline

This assumes that all acceptance conditions in f are known from dict.

template<typename State, typename Type>
void spot::explicit_graph< State, Type >::add_condition ( transition t,
const ltl::formula f 
)
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::add_conditions ( transition t,
bdd  f 
)
inline

This assumes that all variables in f are known from dict.

template<typename State, typename Type>
State* spot::explicit_graph< State, Type >::add_default_init ( )
inline
template<typename State, typename Type>
State* spot::explicit_graph< State, Type >::add_state ( const label_t name)
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::add_state_alias ( const label_t alias,
const label_t real 
)
inline

Create an alias for a state. Any reference to alias_name will act as a reference to real_name.

template<typename State, typename Type>
virtual bdd spot::explicit_graph< State, Type >::all_acceptance_conditions ( ) const
inlinevirtual
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::complement_all_acceptance_conditions ( )
inline
template<typename State, typename Type>
virtual bdd spot::explicit_graph< State, Type >::compute_support_conditions ( const spot::state in) const
inlineprotectedvirtual
template<typename State, typename Type>
virtual bdd spot::explicit_graph< State, Type >::compute_support_variables ( const spot::state in) const
inlineprotectedvirtual
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::copy_acceptance_conditions_of ( const tgba a)
inline

Copy the acceptance conditions of a tgba.

If used, this function should be called before creating any transition.

template<typename State, typename Type>
transition* spot::explicit_graph< State, Type >::create_transition ( State *  source,
const State *  dest 
)
inline
template<typename State, typename Type>
transition* spot::explicit_graph< State, Type >::create_transition ( const label_t source,
const label_t dest 
)
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::declare_acceptance_condition ( const ltl::formula f)
inline
template<typename State, typename Type>
virtual std::string spot::explicit_graph< State, Type >::format_state ( const spot::state state) const
inlinevirtual
template<typename State, typename Type>
bdd spot::explicit_graph< State, Type >::get_acceptance_condition ( const ltl::formula f)
inline
template<typename State, typename Type>
virtual bdd_dict* spot::explicit_graph< State, Type >::get_dict ( ) const
inlinevirtual
template<typename State, typename Type>
virtual State* spot::explicit_graph< State, Type >::get_init_state ( ) const
inlinevirtual
template<typename State, typename Type>
const label_t& spot::explicit_graph< State, Type >::get_label ( const State *  s) const
inline
template<typename State, typename Type>
const label_t& spot::explicit_graph< State, Type >::get_label ( const spot::state s) const
inline
template<typename State, typename Type>
const State* spot::explicit_graph< State, Type >::get_state ( const label_t name)
inline

Return the state associated to a given label.

This is similar to add_state(), except that it returns 0 if the state does not exist.

template<typename State, typename Type>
to_string_func_t spot::explicit_graph< State, Type >::get_to_string_func ( ) const
inline
template<typename State, typename Type>
transition* spot::explicit_graph< State, Type >::get_transition ( const tgba_explicit_succ_iterator< State > *  si)
inline
template<typename State, typename Type>
transition* spot::explicit_graph< State, Type >::get_transition ( const tgba_succ_iterator si)
inline
template<typename State, typename Type>
bool spot::explicit_graph< State, Type >::has_acceptance_condition ( const ltl::formula f) const
inline
template<typename State, typename Type>
bool spot::explicit_graph< State, Type >::has_state ( const label_t name)
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::merge_transitions ( )
inline
template<typename State, typename Type>
virtual bdd spot::explicit_graph< State, Type >::neg_acceptance_conditions ( ) const
inlinevirtual
template<typename State, typename Type>
size_t spot::explicit_graph< State, Type >::num_states ( ) const
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::set_acceptance_conditions ( bdd  acc)
inline

Acceptance conditions handling.

template<typename State, typename Type>
State* spot::explicit_graph< State, Type >::set_init_state ( const label_t state)
inline
template<typename State, typename Type>
void spot::explicit_graph< State, Type >::set_to_string_func ( to_string_func_t  f)
inline
template<typename State, typename Type>
virtual tgba_explicit_succ_iterator<State>* spot::explicit_graph< State, Type >::succ_iter ( const spot::state state,
const spot::state global_state = 0,
const tgba global_automaton = 0 
) const
inlinevirtual

Member Data Documentation

template<typename State, typename Type>
alias_map spot::explicit_graph< State, Type >::alias_
protected
template<typename State, typename Type>
bdd spot::explicit_graph< State, Type >::all_acceptance_conditions_
mutableprotected
template<typename State, typename Type>
bool spot::explicit_graph< State, Type >::all_acceptance_conditions_computed_
mutableprotected
template<typename State, typename Type>
bdd_dict* spot::explicit_graph< State, Type >::dict_
protected
template<typename State, typename Type>
State* spot::explicit_graph< State, Type >::init_
protected
template<typename State, typename Type>
ls_map spot::explicit_graph< State, Type >::ls_
protected
template<typename State, typename Type>
bdd spot::explicit_graph< State, Type >::neg_acceptance_conditions_
protected
template<typename State, typename Type>
sl_map spot::explicit_graph< State, Type >::sl_
protected
template<typename State, typename Type>
to_string_func_t spot::explicit_graph< State, Type >::to_string_func_
protected

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

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Tue Jul 9 2013 14:04:34 for spot by doxygen 1.8.4