| IOLink 1.11.0

Loading...
Searching...
No Matches
DependencyGraph.h
1#pragma once
2
3#include <iolink/IOLinkAPI.h>
4#include <iolink/view/View.h>
5
6 namespace iolink
7{
8
12 enum class CommonAncestorStatus
13{
14 SHARE_NO_ANCESTOR,
15 SHARE_ANCESTOR,
16 UNDETERMINED
17};
18
22 class IOLINK_API DependencyGraph
23{
24 public:
35 static CommonAncestorStatus hasCommonAncestor(std::shared_ptr<View> view1, std::shared_ptr<View> view2);
36};
37
38} // namespace iolink
iolink::DependencyGraph
Algorithms on the dependency graph.
Definition DependencyGraph.h:23
iolink::DependencyGraph::hasCommonAncestor
static CommonAncestorStatus hasCommonAncestor(std::shared_ptr< View > view1, std::shared_ptr< View > view2)
Indicates if two views share a common ancestor.
iolink
All IOLink symbols are enclosed in this namespace.
Definition ArrayX.h:8
iolink::CommonAncestorStatus
CommonAncestorStatus
Status of the research of a common ancestor.
Definition DependencyGraph.h:13
iolink::CommonAncestorStatus::SHARE_NO_ANCESTOR
@ SHARE_NO_ANCESTOR
Views share no common ancestor at all.
iolink::CommonAncestorStatus::SHARE_ANCESTOR
@ SHARE_ANCESTOR
Views share at least one common ancestor.
iolink::CommonAncestorStatus::UNDETERMINED
@ UNDETERMINED
Information is not available, because the dependency tree is not complete.