spot
1.99.3
|
Public Types | |
typedef digraph < twa_graph_state, twa_graph_edge_data > | graph_t |
typedef graph_t::edge_storage_t | edge_storage_t |
template<typename State_Name , typename Name_Hash = std::hash<State_Name>, typename Name_Equal = std::equal_to<State_Name>> | |
using | namer = named_graph< graph_t, State_Name, Name_Hash, Name_Equal > |
Public Member Functions | |
twa_graph (const bdd_dict_ptr &dict) | |
twa_graph (const const_twa_graph_ptr &other, prop_set p) | |
template<typename State_Name , typename Name_Hash = std::hash<State_Name>, typename Name_Equal = std::equal_to<State_Name>> | |
namer< State_Name, Name_Hash, Name_Equal > * | create_namer () |
namer< const ltl::formula * > * | create_formula_namer () |
void | release_formula_namer (namer< const ltl::formula * > *namer, bool keep_names) |
graph_t & | get_graph () |
const graph_t & | get_graph () const |
unsigned | num_states () const |
unsigned | num_edges () const |
void | set_init_state (graph_t::state s) |
void | set_init_state (const state *s) |
graph_t::state | get_init_state_number () const |
virtual twa_graph_state * | get_init_state () const |
Get the initial state of the automaton. More... | |
virtual twa_succ_iterator * | succ_iter (const state *st) const |
Get an iterator over the successors of local_state. More... | |
graph_t::state | state_number (const state *st) const |
const twa_graph_state * | state_from_number (graph_t::state n) const |
std::string | format_state (unsigned n) const |
virtual std::string | format_state (const state *st) const |
twa_graph_edge_data & | edge_data (const twa_succ_iterator *it) |
twa_graph_edge_data & | edge_data (unsigned t) |
const twa_graph_edge_data & | edge_data (const twa_succ_iterator *it) const |
const twa_graph_edge_data & | edge_data (unsigned t) const |
edge_storage_t & | edge_storage (const twa_succ_iterator *it) |
edge_storage_t & | edge_storage (unsigned t) |
const edge_storage_t | edge_storage (const twa_succ_iterator *it) const |
const edge_storage_t | edge_storage (unsigned t) const |
unsigned | new_state () |
unsigned | new_states (unsigned n) |
unsigned | new_edge (unsigned src, unsigned dst, bdd cond, acc_cond::mark_t acc=0U) |
unsigned | new_acc_edge (unsigned src, unsigned dst, bdd cond, bool acc=true) |
auto | out (unsigned src) const SPOT_RETURN(g_.out(src)) |
auto | out (unsigned src) SPOT_RETURN(g_.out(src)) |
auto | states () const SPOT_RETURN(g_.states()) |
auto | states () SPOT_RETURN(g_.states()) |
auto | edges () const SPOT_RETURN(g_.edges()) |
auto | edges () SPOT_RETURN(g_.edges()) |
auto | edge_vector () const SPOT_RETURN(g_.edge_vector()) |
auto | edge_vector () SPOT_RETURN(g_.edge_vector()) |
auto | is_dead_edge (const graph_t::edge_storage_t &t) const SPOT_RETURN(g_.is_dead_edge(t)) |
virtual bdd | compute_support_conditions (const state *s) const |
void | merge_edges () |
void | purge_dead_states () |
Remove all states without successors. More... | |
void | purge_unreachable_states () |
Remove all unreachable states. More... | |
acc_cond::mark_t | state_acc_sets (unsigned s) const |
bool | state_is_accepting (unsigned s) const |
bool | state_is_accepting (const state *s) const |
bool | operator== (const twa_graph &aut) const |
Protected Attributes | |
graph_t | g_ |
unsigned | init_number_ |
twa_succ_iterator * | iter_cache_ |
bdd_dict_ptr | dict_ |
|
inlinevirtual |
Get the initial state of the automaton.
The state has been allocated with new
. It is the responsability of the caller to destroy
it when no longer needed.
Implements spot::twa.
void spot::twa_graph::merge_edges | ( | ) |
Iterate over all edges, and merge those with compatible extremities and acceptance.
void spot::twa_graph::purge_dead_states | ( | ) |
Remove all states without successors.
void spot::twa_graph::purge_unreachable_states | ( | ) |
Remove all unreachable states.
|
inlinevirtual |
Get an iterator over the successors of local_state.
The iterator has been allocated with new
. It is the responsability of the caller to delete
it when no longer needed.
Implements spot::twa.