spot  2.16
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members

Storage for SCC related information. More...

#include <spot/twaalgos/sccinfo.hh>

Collaboration diagram for spot::scc_info_node:

Public Types

typedef std::vector< unsigned > scc_succs
 List of successor SCC indices. More...
 

Public Member Functions

 scc_info_node () noexcept
 Default-construct an empty trivial SCC node. More...
 
 scc_info_node (acc_cond::mark_t acc, acc_cond::mark_t common, bool trivial) noexcept
 Construct an SCC node with given acceptance information. More...
 
bool is_trivial () const
 True if the SCC has no cycle. More...
 
bool is_accepting () const
 True if we know that the SCC has an accepting cycle. More...
 
bool is_rejecting () const
 True if we know that all cycles in the SCC are rejecting. More...
 
bool is_useful () const
 True if the SCC can reach an accepting SCC. More...
 
acc_cond::mark_t acc_marks () const
 Return the union of all acceptance marks in this SCC. More...
 
acc_cond::mark_t common_marks () const
 Return the marks common to all transitions in this SCC. More...
 
const std::vector< unsigned > & states () const
 Return all states belonging to this SCC. More...
 
unsigned one_state () const
 Return one arbitrary state in this SCC. More...
 
const scc_succssucc () const
 Return the list of successor SCC indices. More...
 

Protected Attributes

scc_succs succ_
 Successor SCCs of this SCC. More...
 
std::vector< unsigned > states_
 States of the component. More...
 
unsigned one_state_
 An arbitrary state in this SCC. More...
 
acc_cond::mark_t acc_
 Union of acceptance marks seen. More...
 
acc_cond::mark_t common_
 Marks common to all edges. More...
 
bool trivial_:1
 True if the SCC has no cycle. More...
 
bool accepting_:1
 True if the SCC is necessarily accepting. More...
 
bool rejecting_:1
 True if the SCC is necessarily rejecting. More...
 
bool useful_:1
 True if the SCC can reach an accepting SCC. More...
 

Friends

class scc_info
 

Detailed Description

Storage for SCC related information.

Member Typedef Documentation

◆ scc_succs

typedef std::vector<unsigned> spot::scc_info_node::scc_succs

List of successor SCC indices.

Constructor & Destructor Documentation

◆ scc_info_node() [1/2]

spot::scc_info_node::scc_info_node ( )
inlinenoexcept

Default-construct an empty trivial SCC node.

◆ scc_info_node() [2/2]

spot::scc_info_node::scc_info_node ( acc_cond::mark_t  acc,
acc_cond::mark_t  common,
bool  trivial 
)
inlinenoexcept

Construct an SCC node with given acceptance information.

Member Function Documentation

◆ acc_marks()

acc_cond::mark_t spot::scc_info_node::acc_marks ( ) const
inline

Return the union of all acceptance marks in this SCC.

◆ common_marks()

acc_cond::mark_t spot::scc_info_node::common_marks ( ) const
inline

Return the marks common to all transitions in this SCC.

◆ is_accepting()

bool spot::scc_info_node::is_accepting ( ) const
inline

True if we know that the SCC has an accepting cycle.

Note that both is_accepting() and is_rejecting() may return false if an SCC intersects a mix of Fin and Inf sets. Call determine_unknown_acceptance() to decide.

◆ is_rejecting()

bool spot::scc_info_node::is_rejecting ( ) const
inline

True if we know that all cycles in the SCC are rejecting.

Note that both is_accepting() and is_rejecting() may return false if an SCC intersects a mix of Fin and Inf sets. Call determine_unknown_acceptance() to decide.

◆ is_trivial()

bool spot::scc_info_node::is_trivial ( ) const
inline

True if the SCC has no cycle.

◆ is_useful()

bool spot::scc_info_node::is_useful ( ) const
inline

True if the SCC can reach an accepting SCC.

◆ one_state()

unsigned spot::scc_info_node::one_state ( ) const
inline

Return one arbitrary state in this SCC.

◆ states()

const std::vector<unsigned>& spot::scc_info_node::states ( ) const
inline

Return all states belonging to this SCC.

◆ succ()

const scc_succs& spot::scc_info_node::succ ( ) const
inline

Return the list of successor SCC indices.

Member Data Documentation

◆ acc_

acc_cond::mark_t spot::scc_info_node::acc_
protected

Union of acceptance marks seen.

◆ accepting_

bool spot::scc_info_node::accepting_
protected

True if the SCC is necessarily accepting.

◆ common_

acc_cond::mark_t spot::scc_info_node::common_
protected

Marks common to all edges.

◆ one_state_

unsigned spot::scc_info_node::one_state_
protected

An arbitrary state in this SCC.

◆ rejecting_

bool spot::scc_info_node::rejecting_
protected

True if the SCC is necessarily rejecting.

◆ states_

std::vector<unsigned> spot::scc_info_node::states_
protected

States of the component.

◆ succ_

scc_succs spot::scc_info_node::succ_
protected

Successor SCCs of this SCC.

◆ trivial_

bool spot::scc_info_node::trivial_
protected

True if the SCC has no cycle.

◆ useful_

bool spot::scc_info_node::useful_
protected

True if the SCC can reach an accepting SCC.


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 Fri Feb 27 2015 10:00:07 for spot by doxygen 1.9.1