Sequence Chart Studio  svn HEAD revision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | List of all members
DFSHMscTraverser Class Reference

#include <dfs_hmsc_traverser.h>

Inheritance diagram for DFSHMscTraverser:
Inheritance graph
Collaboration diagram for DFSHMscTraverser:
Collaboration graph

Public Member Functions

 DFSHMscTraverser (const std::string &color_attribute="dfs_hmsc_traverse_color")
 
void cleanup_traversing_attributes ()
 
- Public Member Functions inherited from DFSBMscGraphTraverser
 DFSBMscGraphTraverser (const std::string &color_attribute="msc_graph_traverse_color")
 
virtual ~DFSBMscGraphTraverser ()
 
virtual void traverse (HMscPtr hmsc)
 
virtual void traverse (HMscNode *node)
 
const MscElementPListListget_reached_elements ()
 
- Public Member Functions inherited from DFSListenersContainer
void add_node_finished_listener (NodeFinishedListenerP l)
 
void remove_node_finished_listeners ()
 
void add_white_node_found_listener (WhiteNodeFoundListenerP l)
 
void remove_white_node_found_listeners ()
 
void add_gray_node_found_listener (GrayNodeFoundListenerP l)
 
void remove_gray_node_found_listeners ()
 
void add_black_node_found_listener (BlackNodeFoundListenerP l)
 
void remove_black_node_found_listeners ()
 
void remove_all_listeners ()
 
virtual ~DFSListenersContainer ()
 

Protected Member Functions

bool traverse_reference_node (ReferenceNode *node)
 
- Protected Member Functions inherited from DFSBMscGraphTraverser
virtual void cleanup_top_attributes ()
 
virtual bool traverse_node (HMscNode *node)
 
virtual bool traverse_successors (PredecessorNode *predecessor)
 
virtual bool is_processed (HMscNode *node)
 
void set_color (HMscNode *n, NodeColor c)
 
NodeColorget_color (HMscNode *n)
 
virtual void push_top_attributes ()
 
virtual void white_node_found (HMscNode *n)
 
virtual void gray_node_found (HMscNode *n)
 
virtual void black_node_found (HMscNode *n)
 
virtual void node_finished (HMscNode *n)
 

Additional Inherited Members

- Protected Attributes inherited from DFSBMscGraphTraverser
HMscNodePListList m_colored_nodes
 
MscElementPListList m_reached_elements
 
std::string m_color_attribute
 
- Protected Attributes inherited from DFSListenersContainer
NodeFinishedListenerPList m_node_finished_listeners
 
WhiteNodeFoundListenerPList m_white_node_found_listeners
 
GrayNodeFoundListenerPList m_gray_node_found_listeners
 
BlackNodeFoundListenerPList m_black_node_found_listeners
 
GrayNodeFoundListenerPList m_grey_node_found_listeners
 

Detailed Description

Traverses all HMscNodes in HMsc and referenced HMsc in depth first search manner. I.e. unlike DFSBMscGraphTraverser this traverser doesn't care about presence of EndNodes in referenced HMsc in ReferenceNodes. Successors of the ReferenceNode are traversed no matter there is EndNode in it's HMsc. Moreover each HMsc is traversed only one time.

Warning
Non-recursive HMsc is expected.

Definition at line 34 of file dfs_hmsc_traverser.h.

Constructor & Destructor Documentation

DFSHMscTraverser::DFSHMscTraverser ( const std::string color_attribute = "dfs_hmsc_traverse_color")
inline

Definition at line 43 of file dfs_hmsc_traverser.h.

Member Function Documentation

void DFSHMscTraverser::cleanup_traversing_attributes ( )
virtual
bool DFSHMscTraverser::traverse_reference_node ( ReferenceNode node)
protectedvirtual

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

SourceForge.net Logo
Generated on Fri Jan 15 2016 16:26:58 for Sequence Chart Studio by  doxygen