PandA-2024.02
Public Types | Public Member Functions | Private Attributes | Friends
TransitionInfo Class Reference

Structure holding the information about an edge into the graph. More...

#include <state_transition_graph.hpp>

Inheritance diagram for TransitionInfo:
Inheritance graph
[legend]
Collaboration diagram for TransitionInfo:
Collaboration graph
[legend]

Public Types

enum  StateTransitionType { ST_EDGE_NORMAL = 1 << 0, ST_EDGE_FEEDBACK = 1 << 1, ST_EDGE_EPP = 1 << 2 }
 Types associated with the edges of the graph. More...
 

Public Member Functions

 TransitionInfo (OpGraphConstRef g)
 
void print (std::ostream &os, const int detail_level) const
 Print the information associated with the edge of the graph. More...
 
bool get_has_default () const
 
transition_type get_type () const
 
const CustomOrderedSet< vertex > & get_operations () const
 
vertex get_operation () const
 
const CustomOrderedSet< unsigned > & get_labels () const
 
vertex get_ref_state () const
 
void set_epp_increment (size_t n)
 
size_t get_epp_increment () const
 
- Public Member Functions inherited from EdgeInfo
 EdgeInfo ()=default
 Constructor. More...
 
virtual ~EdgeInfo ()=default
 Destructor. More...
 

Private Attributes

OpGraphConstRef op_function_graph
 pointer to graph storing information about operations More...
 
transition_type t {DONTCARE_COND}
 
CustomOrderedSet< vertexops
 
bool has_default {false}
 
CustomOrderedSet< unsigned > labels
 
vertex ref_state {NULL_VERTEX}
 
size_t epp_increment {0}
 the edge increment computed by Efficient Path Profiling More...
 
bool epp_incrementValid {false}
 

Friends

class StateTransitionGraph_constructor
 

Detailed Description

Structure holding the information about an edge into the graph.

It specialize generic edge_info The property associated with edge is the control condition

Definition at line 180 of file state_transition_graph.hpp.

Member Enumeration Documentation

◆ StateTransitionType

Types associated with the edges of the graph.

Enumerator
ST_EDGE_NORMAL 

Normal edge.

ST_EDGE_FEEDBACK 

Feedback edge.

ST_EDGE_EPP 

Artificial edge for computation of Efficient Path Profiling edge increments.

Definition at line 228 of file state_transition_graph.hpp.

Constructor & Destructor Documentation

◆ TransitionInfo()

TransitionInfo::TransitionInfo ( OpGraphConstRef  g)
inlineexplicit

Definition at line 196 of file state_transition_graph.hpp.

Member Function Documentation

◆ get_epp_increment()

size_t TransitionInfo::get_epp_increment ( ) const
inline

Definition at line 243 of file state_transition_graph.hpp.

◆ get_has_default()

bool TransitionInfo::get_has_default ( ) const
inline

Definition at line 208 of file state_transition_graph.hpp.

◆ get_labels()

const CustomOrderedSet<unsigned>& TransitionInfo::get_labels ( ) const
inline

Definition at line 221 of file state_transition_graph.hpp.

◆ get_operation()

vertex TransitionInfo::get_operation ( ) const

Definition at line 339 of file state_transition_graph.cpp.

References THROW_ASSERT.

◆ get_operations()

const CustomOrderedSet<vertex>& TransitionInfo::get_operations ( ) const
inline

Definition at line 216 of file state_transition_graph.hpp.

◆ get_ref_state()

vertex TransitionInfo::get_ref_state ( ) const

Definition at line 345 of file state_transition_graph.cpp.

References ALL_FINISHED, NOT_ALL_FINISHED, NULL_VERTEX, and THROW_ASSERT.

◆ get_type()

transition_type TransitionInfo::get_type ( ) const
inline

Definition at line 212 of file state_transition_graph.hpp.

◆ print()

void TransitionInfo::print ( std::ostream &  os,
const int  detail_level 
) const

Print the information associated with the edge of the graph.

Parameters
osis the output stream.

Definition at line 231 of file state_transition_graph.cpp.

References ALL_FINISHED, CASE_COND, DONTCARE_COND, FALSE_COND, GET_NAME, NOT_ALL_FINISHED, BehavioralHelper::PrintNode(), THROW_ERROR, and TRUE_COND.

Here is the call graph for this function:

◆ set_epp_increment()

void TransitionInfo::set_epp_increment ( size_t  n)
inline

Definition at line 238 of file state_transition_graph.hpp.

Friends And Related Function Documentation

◆ StateTransitionGraph_constructor

friend class StateTransitionGraph_constructor
friend

Definition at line 200 of file state_transition_graph.hpp.

Field Documentation

◆ epp_increment

size_t TransitionInfo::epp_increment {0}
private

the edge increment computed by Efficient Path Profiling

Definition at line 192 of file state_transition_graph.hpp.

◆ epp_incrementValid

bool TransitionInfo::epp_incrementValid {false}
private

Definition at line 193 of file state_transition_graph.hpp.

◆ has_default

bool TransitionInfo::has_default {false}
private

Definition at line 188 of file state_transition_graph.hpp.

◆ labels

CustomOrderedSet<unsigned> TransitionInfo::labels
private

Definition at line 189 of file state_transition_graph.hpp.

◆ op_function_graph

OpGraphConstRef TransitionInfo::op_function_graph
private

pointer to graph storing information about operations

Definition at line 184 of file state_transition_graph.hpp.

◆ ops

CustomOrderedSet<vertex> TransitionInfo::ops
private

Definition at line 187 of file state_transition_graph.hpp.

◆ ref_state

vertex TransitionInfo::ref_state {NULL_VERTEX}
private

Definition at line 190 of file state_transition_graph.hpp.

◆ t

transition_type TransitionInfo::t {DONTCARE_COND}
private

Definition at line 186 of file state_transition_graph.hpp.


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

Generated on Mon Feb 12 2024 13:04:06 for PandA-2024.02 by doxygen 1.8.13