spot  1.0
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)
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.
bool has_acceptance_condition (const ltl::formula *f) const
bool has_state (const label_t &name)
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.
void set_acceptance_conditions (bdd acc)
 Acceptance conditions handling.
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>
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>
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 comment this page and report errors about it on the RefDocComments page.
Generated on Sat Oct 27 2012 09:34:34 for spot by doxygen 1.8.1.2