The Sparta Modeling Framework
Loading...
Searching...
No Matches
TranslationIFNode.hpp
Go to the documentation of this file.
1
8#pragma once
9
12
13namespace sparta
14{
15 namespace memory
16 {
28 {
29 public:
30
34
35 TranslationIFNode() = delete;
36 TranslationIFNode& operator=(const TranslationIFNode&) = delete;
37 TranslationIFNode(const TranslationIFNode&) = delete;
38
52 const std::string& name,
53 const std::string& group,
54 group_idx_type group_idx,
55 const std::string& desc,
56 const std::string& input_type,
57 const std::string& output_type) :
58 TreeNode(notNull(parent), name, group, group_idx, desc),
59 TranslationIF(input_type, output_type)
60 { }
61
69 const std::string& name,
70 const std::string& group,
71 group_idx_type group_idx,
72 const std::string& desc) :
73 TreeNode(notNull(parent),
74 name,
75 group,
76 group_idx,
77 desc),
79 { }
80
86 const std::string& name,
87 const std::string& desc) :
88 TranslationIFNode(parent,
89 name,
92 desc)
93 {
94 // Delegated Constructor
95 }
96
102 const std::string& name,
103 const std::string& desc,
104 const std::string& input_type,
105 const std::string& output_type) :
106 TranslationIFNode(parent,
107 name,
110 desc,
111 input_type,
112 output_type)
113 {
114 // Delegated Constructor
115 }
116
121
124 };
125 } // namespace memory
126} // namespace sparta
127
Contains class for publishing a TranslationIF as a TreeNode.
Basic Node framework in sparta device tree composite pattern.
Node in a composite tree representing a sparta Tree item.
Definition TreeNode.hpp:205
static const group_idx_type GROUP_IDX_NONE
GroupIndex indicating that a node has no group index because it belongs to no group.
Definition TreeNode.hpp:303
static constexpr char GROUP_NAME_NONE[]
Group name indicating that a node belongs to no group.
Definition TreeNode.hpp:314
uint32_t group_idx_type
Index within a group.
Definition TreeNode.hpp:261
TranslationIF extension that builds on TranslastionIF, acting as a TreeNode in the SPARTA device tree...
virtual ~TranslationIFNode()
Virtual Destructor.
TranslationIFNode(sparta::TreeNode *parent, const std::string &name, const std::string &group, group_idx_type group_idx, const std::string &desc, const std::string &input_type, const std::string &output_type)
Construct a blocking memory interface that is also a sparta::TreeNode subclass.
TranslationIFNode(sparta::TreeNode *parent, const std::string &name, const std::string &group, group_idx_type group_idx, const std::string &desc)
Constructor for TranslationIFNode without input_type and output_type args.
TranslationIFNode(sparta::TreeNode *parent, const std::string &name, const std::string &desc, const std::string &input_type, const std::string &output_type)
Constructor for TranslationIFNode without TreeNode group information but still having input_type and ...
TranslationIFNode(sparta::TreeNode *parent, const std::string &name, const std::string &desc)
Constructor for TranslationIFNode without TreeNode group information.
Blocking translation interface with 1:1 translation unless subclassed.
Macros for handling exponential backoff.
T * notNull(T *p)
Ensures that a pointer is not null.
Definition Utils.hpp:224