KDStateMachineEditor API Documentation 2.3
Loading...
Searching...
No Matches
KDSME::TreeWalker< T > Class Template Reference

#include <treewalker.h>

Public Types

enum  TraversalType { PreOrderTraversal , PostOrderTraversal }
typedef std::function< VisitResult(T)> VisitFunction
enum  VisitResult { ContinueWalk , RecursiveWalk , StopWalk }

Public Member Functions

 TreeWalker (TraversalType type=PreOrderTraversal)
bool walkChildren (T item, const VisitFunction &visit)
bool walkItems (T item, const VisitFunction &visit)

Detailed Description

template<typename T>
class KDSME::TreeWalker< T >

Performs a DFS walk through the hierarchy of T

Note
Specialize TreeWalkerTrait for your type T to get TreeWalker support

Definition at line 43 of file treewalker.h.

Member Typedef Documentation

◆ VisitFunction

template<typename T>
typedef std::function<VisitResult(T)> KDSME::TreeWalker< T >::VisitFunction

Definition at line 59 of file treewalker.h.

Member Enumeration Documentation

◆ TraversalType

template<typename T>
enum KDSME::TreeWalker::TraversalType
Enumerator
PreOrderTraversal 
PostOrderTraversal 

Definition at line 53 of file treewalker.h.

◆ VisitResult

template<typename T>
enum KDSME::TreeWalker::VisitResult
Enumerator
ContinueWalk 

Continues traversal with the next sibling of the item just visited, without visiting its children.

RecursiveWalk 

Traverse the children of this item.

StopWalk 

Terminate the traversal.

Definition at line 46 of file treewalker.h.

Constructor & Destructor Documentation

◆ TreeWalker()

template<typename T>
KDSME::TreeWalker< T >::TreeWalker ( TraversalType type = PreOrderTraversal)
inlineexplicit

Definition at line 61 of file treewalker.h.

Member Function Documentation

◆ walkChildren()

template<typename T>
bool KDSME::TreeWalker< T >::walkChildren ( T item,
const VisitFunction & visit )
inline

Convenience function. Same as walk(), but omits item item

See also
walk()

Definition at line 101 of file treewalker.h.

◆ walkItems()

template<typename T>
bool KDSME::TreeWalker< T >::walkItems ( T item,
const VisitFunction & visit )
inline

Walk through all items including the start item itself

Returns
True in case we walked through all items, false otherwise
Parameters
itemthe start item
visitFunction called each time a LayoutItem instance is encountered

Definition at line 74 of file treewalker.h.

Referenced by KDSME::LayerwiseLayouter::layout().


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

© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDStateMachineEditor
Create Qt State Machine metacode using a graphical user interface
https://github.com/KDAB/KDStateMachineEditor
Generated on for KDStateMachineEditor API Documentation by doxygen 1.15.0