KDStateMachineEditor API Documentation 2.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
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 ( 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.

References KDSME::TreeWalkerTrait< T >::children().

◆ walkItems()

template<typename T >
bool KDSME::TreeWalker< T >::walkItems ( 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.

References KDSME::TreeWalkerTrait< T >::children(), KDSME::TreeWalker< T >::PostOrderTraversal, KDSME::TreeWalker< T >::PreOrderTraversal, and KDSME::TreeWalker< T >::RecursiveWalk.

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 Tue Jul 15 2025 15:21:47 for KDStateMachineEditor API Documentation by doxygen 1.9.8