|
spot 2.16
|
Create a filter for SCC and marks. More...
#include <spot/twaalgos/sccinfo.hh>
Public Member Functions | |
| scc_and_mark_filter (const scc_info &lower_si, unsigned lower_scc, acc_cond::mark_t cut_sets) | |
| Specify how to restrict scc_info to some SCC and acceptance sets. | |
| scc_and_mark_filter (const scc_info &lower_si, unsigned lower_scc, acc_cond::mark_t cut_sets, const bitvect &keep) | |
| Construct with an additional bitvect of edges to keep. | |
| scc_and_mark_filter (const const_twa_graph_ptr &aut, acc_cond::mark_t cut_sets) | |
| Specify how to restrict scc_info to some acceptance sets. | |
| void | override_acceptance (const acc_cond &new_acc) |
| Temporarily override the automaton's acceptance condition. | |
| void | restore_acceptance () |
| Restore the original acceptance condition. | |
| const_twa_graph_ptr | get_aut () const |
| Return the filtered automaton. | |
| unsigned | start_state () const |
| Return the starting state for scc_info exploration. | |
| scc_info::edge_filter | get_filter () const |
| Return the appropriate edge filter function. | |
Static Protected Member Functions | |
| static scc_info::edge_filter_choice | filter_scc_and_mark_ (const twa_graph::edge_storage_t &e, unsigned dst, void *data) |
| Filter by SCC membership and cut sets. | |
| static scc_info::edge_filter_choice | filter_mark_ (const twa_graph::edge_storage_t &e, unsigned, void *data) |
| Filter by acceptance marks only. | |
| static scc_info::edge_filter_choice | filter_scc_and_mark_and_edges_ (const twa_graph::edge_storage_t &e, unsigned dst, void *data) |
| Filter by SCC, marks, and edge set. | |
Protected Attributes | |
| const scc_info * | lower_si_ |
| The original scc_info used to filter. | |
| unsigned | lower_scc_ |
| SCC number in lower_si_ to restrict to. | |
| acc_cond::mark_t | cut_sets_ |
| Acceptance sets treated as cut edges. | |
| const_twa_graph_ptr | aut_ |
| The automaton being filtered. | |
| acc_cond | old_acc_ |
| Saved acceptance for restoration. | |
| bool | restore_old_acc_ = false |
| Whether to restore old_acc_. | |
| const bitvect * | keep_ = nullptr |
| Optional set of edges to keep. | |
Create a filter for SCC and marks.
An scc_and_mark_filter can be passed to scc_info to explore only a specific SCC of the original automaton, and to prevent some acceptance sets from being considered as part of SCCs.
|
inline |
Specify how to restrict scc_info to some SCC and acceptance sets.
| lower_si | the original scc_info that specifies the SCC |
| lower_scc | the SCC number in lower_si |
| cut_sets | the acceptance sets that should not be part of SCCs. |
References spot::scc_info::get_filter(), and spot::scc_info::get_filter_data().
|
inline |
Construct with an additional bitvect of edges to keep.
|
inline |
Specify how to restrict scc_info to some acceptance sets.
| aut | the automaton to filter |
| cut_sets | the acceptance sets that should not be part of SCCs. |
|
staticprotected |
Filter by acceptance marks only.
|
staticprotected |
Filter by SCC membership and cut sets.
|
staticprotected |
Filter by SCC, marks, and edge set.
|
inline |
Return the filtered automaton.
|
inline |
Return the appropriate edge filter function.
|
inline |
Temporarily override the automaton's acceptance condition.
|
inline |
Restore the original acceptance condition.
|
inline |
Return the starting state for scc_info exploration.
References spot::scc_info::one_state_of().
|
protected |
The automaton being filtered.
|
protected |
Acceptance sets treated as cut edges.
|
protected |
Optional set of edges to keep.
|
protected |
SCC number in lower_si_ to restrict to.
|
protected |
The original scc_info used to filter.
|
protected |
Saved acceptance for restoration.
|
protected |
Whether to restore old_acc_.
1.9.8