Rumba C++ SDK
NodeDelegateGroup.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2025
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 #pragma once
16 
17 #include "NodeDelegate.h"
18 
19 namespace maquina
20 {
21 
24 {
25 public:
26  NodeDelegateGroup(std::string name, std::string path, std::vector<std::shared_ptr<NodeDelegate>> children, std::shared_ptr<NodeDelegate> parent,
27  std::shared_ptr<class AttributeDescriptor> desc);
28 
29  StringView type_name() const override;
30  std::shared_ptr<NodeDelegate> parent() const override;
31  maquina::StringView name() const override;
32  std::string path() const override;
33  bool operator==(const NodeDelegate& o) const override;
34  bool operator!=(const NodeDelegate& o) const override;
35  int child_count() const override;
36  std::shared_ptr<NodeDelegate> child(const StringView& name) override;
37  std::shared_ptr<class AttributeDescriptor> description() const override { return _description; };
38 protected:
39  std::shared_ptr<ChildIteratorDelegate> _children_begin() override;
40  std::shared_ptr<ChildIteratorDelegate> _children_end() override;
41 
42 private:
43  std::string _name;
44  std::string _path;
45  std::shared_ptr<NodeDelegate> _parent;
46  std::shared_ptr<class AttributeDescriptor> _description;
47  std::vector<std::shared_ptr<NodeDelegate>> _children;
48 };
49 
50 }
std::shared_ptr< class AttributeDescriptor > description() const override
Returns the node&#39;s description, always returns a valid pointer.
Definition: NodeDelegateGroup.h:37
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
A node delegate group, not related to any data, which contains other node delegates.
Definition: NodeDelegateGroup.h:23
#define MAQUINA_EXPORT
Definition: Export.h:31
bool operator!=(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:306
bool operator==(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:274
This interface gives a high level access to the document structure.
Definition: NodeDelegate.h:72