aas-core3 1.0.0
Manipulate, verify and de/serialize asset administration shells in C++.
Loading...
Searching...
No Matches
visitation.hpp
Go to the documentation of this file.
1#ifndef AAS_CORE_AAS_3_0_VISITATION_GUARD_
2#define AAS_CORE_AAS_3_0_VISITATION_GUARD_
3
4// This code has been automatically generated by aas-core-codegen.
5// Do NOT edit or append.
6
8
9namespace aas_core {
10namespace aas_3_0 {
11
16namespace visitation {
17
21class IVisitor {
22 public:
42 virtual void Visit(const std::shared_ptr<types::IClass>& that) = 0;
43 virtual ~IVisitor() = default;
44
45 protected:
46 virtual void VisitExtension(
47 const std::shared_ptr<types::IExtension>& that
48 ) = 0;
50 const std::shared_ptr<types::IAdministrativeInformation>& that
51 ) = 0;
52 virtual void VisitQualifier(
53 const std::shared_ptr<types::IQualifier>& that
54 ) = 0;
56 const std::shared_ptr<types::IAssetAdministrationShell>& that
57 ) = 0;
59 const std::shared_ptr<types::IAssetInformation>& that
60 ) = 0;
61 virtual void VisitResource(
62 const std::shared_ptr<types::IResource>& that
63 ) = 0;
65 const std::shared_ptr<types::ISpecificAssetId>& that
66 ) = 0;
67 virtual void VisitSubmodel(
68 const std::shared_ptr<types::ISubmodel>& that
69 ) = 0;
71 const std::shared_ptr<types::IRelationshipElement>& that
72 ) = 0;
74 const std::shared_ptr<types::ISubmodelElementList>& that
75 ) = 0;
77 const std::shared_ptr<types::ISubmodelElementCollection>& that
78 ) = 0;
79 virtual void VisitProperty(
80 const std::shared_ptr<types::IProperty>& that
81 ) = 0;
83 const std::shared_ptr<types::IMultiLanguageProperty>& that
84 ) = 0;
85 virtual void VisitRange(
86 const std::shared_ptr<types::IRange>& that
87 ) = 0;
89 const std::shared_ptr<types::IReferenceElement>& that
90 ) = 0;
91 virtual void VisitBlob(
92 const std::shared_ptr<types::IBlob>& that
93 ) = 0;
94 virtual void VisitFile(
95 const std::shared_ptr<types::IFile>& that
96 ) = 0;
98 const std::shared_ptr<types::IAnnotatedRelationshipElement>& that
99 ) = 0;
100 virtual void VisitEntity(
101 const std::shared_ptr<types::IEntity>& that
102 ) = 0;
103 virtual void VisitEventPayload(
104 const std::shared_ptr<types::IEventPayload>& that
105 ) = 0;
107 const std::shared_ptr<types::IBasicEventElement>& that
108 ) = 0;
109 virtual void VisitOperation(
110 const std::shared_ptr<types::IOperation>& that
111 ) = 0;
113 const std::shared_ptr<types::IOperationVariable>& that
114 ) = 0;
115 virtual void VisitCapability(
116 const std::shared_ptr<types::ICapability>& that
117 ) = 0;
119 const std::shared_ptr<types::IConceptDescription>& that
120 ) = 0;
121 virtual void VisitReference(
122 const std::shared_ptr<types::IReference>& that
123 ) = 0;
124 virtual void VisitKey(
125 const std::shared_ptr<types::IKey>& that
126 ) = 0;
128 const std::shared_ptr<types::ILangStringNameType>& that
129 ) = 0;
131 const std::shared_ptr<types::ILangStringTextType>& that
132 ) = 0;
133 virtual void VisitEnvironment(
134 const std::shared_ptr<types::IEnvironment>& that
135 ) = 0;
137 const std::shared_ptr<types::IEmbeddedDataSpecification>& that
138 ) = 0;
139 virtual void VisitLevelType(
140 const std::shared_ptr<types::ILevelType>& that
141 ) = 0;
143 const std::shared_ptr<types::IValueReferencePair>& that
144 ) = 0;
145 virtual void VisitValueList(
146 const std::shared_ptr<types::IValueList>& that
147 ) = 0;
149 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& that
150 ) = 0;
152 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& that
153 ) = 0;
155 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& that
156 ) = 0;
158 const std::shared_ptr<types::IDataSpecificationIec61360>& that
159 ) = 0;
160}; // class IVisitor
161
166 : public IVisitor {
167 public:
168 void Visit(const std::shared_ptr<types::IClass>& that) override;
169 ~AbstractVisitor() override = default;
170}; // class AbstractVisitor
171
179 : public AbstractVisitor {
180 public:
181 ~PassThroughVisitor() override = default;
182
183 protected:
185 const std::shared_ptr<types::IExtension>& that
186 ) override;
188 const std::shared_ptr<types::IAdministrativeInformation>& that
189 ) override;
191 const std::shared_ptr<types::IQualifier>& that
192 ) override;
194 const std::shared_ptr<types::IAssetAdministrationShell>& that
195 ) override;
197 const std::shared_ptr<types::IAssetInformation>& that
198 ) override;
200 const std::shared_ptr<types::IResource>& that
201 ) override;
203 const std::shared_ptr<types::ISpecificAssetId>& that
204 ) override;
206 const std::shared_ptr<types::ISubmodel>& that
207 ) override;
209 const std::shared_ptr<types::IRelationshipElement>& that
210 ) override;
212 const std::shared_ptr<types::ISubmodelElementList>& that
213 ) override;
215 const std::shared_ptr<types::ISubmodelElementCollection>& that
216 ) override;
218 const std::shared_ptr<types::IProperty>& that
219 ) override;
221 const std::shared_ptr<types::IMultiLanguageProperty>& that
222 ) override;
224 const std::shared_ptr<types::IRange>& that
225 ) override;
227 const std::shared_ptr<types::IReferenceElement>& that
228 ) override;
230 const std::shared_ptr<types::IBlob>& that
231 ) override;
233 const std::shared_ptr<types::IFile>& that
234 ) override;
236 const std::shared_ptr<types::IAnnotatedRelationshipElement>& that
237 ) override;
239 const std::shared_ptr<types::IEntity>& that
240 ) override;
242 const std::shared_ptr<types::IEventPayload>& that
243 ) override;
245 const std::shared_ptr<types::IBasicEventElement>& that
246 ) override;
248 const std::shared_ptr<types::IOperation>& that
249 ) override;
251 const std::shared_ptr<types::IOperationVariable>& that
252 ) override;
254 const std::shared_ptr<types::ICapability>& that
255 ) override;
257 const std::shared_ptr<types::IConceptDescription>& that
258 ) override;
260 const std::shared_ptr<types::IReference>& that
261 ) override;
263 const std::shared_ptr<types::IKey>& that
264 ) override;
266 const std::shared_ptr<types::ILangStringNameType>& that
267 ) override;
269 const std::shared_ptr<types::ILangStringTextType>& that
270 ) override;
272 const std::shared_ptr<types::IEnvironment>& that
273 ) override;
275 const std::shared_ptr<types::IEmbeddedDataSpecification>& that
276 ) override;
278 const std::shared_ptr<types::ILevelType>& that
279 ) override;
281 const std::shared_ptr<types::IValueReferencePair>& that
282 ) override;
284 const std::shared_ptr<types::IValueList>& that
285 ) override;
287 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& that
288 ) override;
290 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& that
291 ) override;
293 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& that
294 ) override;
296 const std::shared_ptr<types::IDataSpecificationIec61360>& that
297 ) override;
298}; // class PassThroughVisitor
299
300} // namespace visitation
301
302
303} // namespace aas_3_0
304} // namespace aas_core
305
306// This code has been automatically generated by aas-core-codegen.
307// Do NOT edit or append.
308
309#endif // AAS_CORE_AAS_3_0_VISITATION_GUARD_
Definition visitation.hpp:21
Provide a mutating, recursive and no-op visitor on an instance.
Definition visitation.hpp:179
void VisitOperationVariable(const std::shared_ptr< types::IOperationVariable > &that) override
virtual void VisitReference(const std::shared_ptr< types::IReference > &that)=0
void VisitSubmodelElementList(const std::shared_ptr< types::ISubmodelElementList > &that) override
void VisitBlob(const std::shared_ptr< types::IBlob > &that) override
virtual void VisitBasicEventElement(const std::shared_ptr< types::IBasicEventElement > &that)=0
virtual void VisitEntity(const std::shared_ptr< types::IEntity > &that)=0
void VisitCapability(const std::shared_ptr< types::ICapability > &that) override
void VisitMultiLanguageProperty(const std::shared_ptr< types::IMultiLanguageProperty > &that) override
virtual void VisitFile(const std::shared_ptr< types::IFile > &that)=0
virtual void VisitLangStringTextType(const std::shared_ptr< types::ILangStringTextType > &that)=0
virtual void VisitQualifier(const std::shared_ptr< types::IQualifier > &that)=0
virtual void VisitDataSpecificationIec61360(const std::shared_ptr< types::IDataSpecificationIec61360 > &that)=0
virtual void VisitSubmodel(const std::shared_ptr< types::ISubmodel > &that)=0
void VisitAssetAdministrationShell(const std::shared_ptr< types::IAssetAdministrationShell > &that) override
void VisitConceptDescription(const std::shared_ptr< types::IConceptDescription > &that) override
void VisitLangStringDefinitionTypeIec61360(const std::shared_ptr< types::ILangStringDefinitionTypeIec61360 > &that) override
virtual void VisitValueList(const std::shared_ptr< types::IValueList > &that)=0
void VisitSubmodel(const std::shared_ptr< types::ISubmodel > &that) override
virtual void Visit(const std::shared_ptr< types::IClass > &that)=0
void Visit(const std::shared_ptr< types::IClass > &that) override
virtual void VisitBlob(const std::shared_ptr< types::IBlob > &that)=0
virtual void VisitLangStringDefinitionTypeIec61360(const std::shared_ptr< types::ILangStringDefinitionTypeIec61360 > &that)=0
void VisitAdministrativeInformation(const std::shared_ptr< types::IAdministrativeInformation > &that) override
virtual void VisitLangStringNameType(const std::shared_ptr< types::ILangStringNameType > &that)=0
void VisitRange(const std::shared_ptr< types::IRange > &that) override
virtual void VisitProperty(const std::shared_ptr< types::IProperty > &that)=0
void VisitReference(const std::shared_ptr< types::IReference > &that) override
void VisitQualifier(const std::shared_ptr< types::IQualifier > &that) override
virtual void VisitSubmodelElementList(const std::shared_ptr< types::ISubmodelElementList > &that)=0
virtual void VisitLangStringPreferredNameTypeIec61360(const std::shared_ptr< types::ILangStringPreferredNameTypeIec61360 > &that)=0
void VisitAnnotatedRelationshipElement(const std::shared_ptr< types::IAnnotatedRelationshipElement > &that) override
void VisitResource(const std::shared_ptr< types::IResource > &that) override
virtual void VisitCapability(const std::shared_ptr< types::ICapability > &that)=0
virtual void VisitKey(const std::shared_ptr< types::IKey > &that)=0
void VisitKey(const std::shared_ptr< types::IKey > &that) override
virtual void VisitEmbeddedDataSpecification(const std::shared_ptr< types::IEmbeddedDataSpecification > &that)=0
virtual void VisitMultiLanguageProperty(const std::shared_ptr< types::IMultiLanguageProperty > &that)=0
void VisitOperation(const std::shared_ptr< types::IOperation > &that) override
virtual void VisitAssetAdministrationShell(const std::shared_ptr< types::IAssetAdministrationShell > &that)=0
virtual void VisitEventPayload(const std::shared_ptr< types::IEventPayload > &that)=0
virtual void VisitAnnotatedRelationshipElement(const std::shared_ptr< types::IAnnotatedRelationshipElement > &that)=0
void VisitLangStringNameType(const std::shared_ptr< types::ILangStringNameType > &that) override
void VisitExtension(const std::shared_ptr< types::IExtension > &that) override
virtual void VisitRange(const std::shared_ptr< types::IRange > &that)=0
void VisitLangStringPreferredNameTypeIec61360(const std::shared_ptr< types::ILangStringPreferredNameTypeIec61360 > &that) override
void VisitEmbeddedDataSpecification(const std::shared_ptr< types::IEmbeddedDataSpecification > &that) override
void VisitEntity(const std::shared_ptr< types::IEntity > &that) override
void VisitSpecificAssetId(const std::shared_ptr< types::ISpecificAssetId > &that) override
void VisitProperty(const std::shared_ptr< types::IProperty > &that) override
void VisitAssetInformation(const std::shared_ptr< types::IAssetInformation > &that) override
void VisitLevelType(const std::shared_ptr< types::ILevelType > &that) override
void VisitValueReferencePair(const std::shared_ptr< types::IValueReferencePair > &that) override
void VisitValueList(const std::shared_ptr< types::IValueList > &that) override
void VisitReferenceElement(const std::shared_ptr< types::IReferenceElement > &that) override
void VisitEnvironment(const std::shared_ptr< types::IEnvironment > &that) override
void VisitBasicEventElement(const std::shared_ptr< types::IBasicEventElement > &that) override
void VisitRelationshipElement(const std::shared_ptr< types::IRelationshipElement > &that) override
virtual void VisitLevelType(const std::shared_ptr< types::ILevelType > &that)=0
virtual void VisitEnvironment(const std::shared_ptr< types::IEnvironment > &that)=0
virtual void VisitExtension(const std::shared_ptr< types::IExtension > &that)=0
virtual void VisitOperation(const std::shared_ptr< types::IOperation > &that)=0
virtual void VisitSpecificAssetId(const std::shared_ptr< types::ISpecificAssetId > &that)=0
virtual void VisitOperationVariable(const std::shared_ptr< types::IOperationVariable > &that)=0
virtual void VisitConceptDescription(const std::shared_ptr< types::IConceptDescription > &that)=0
virtual void VisitValueReferencePair(const std::shared_ptr< types::IValueReferencePair > &that)=0
virtual void VisitReferenceElement(const std::shared_ptr< types::IReferenceElement > &that)=0
void VisitLangStringShortNameTypeIec61360(const std::shared_ptr< types::ILangStringShortNameTypeIec61360 > &that) override
virtual void VisitAssetInformation(const std::shared_ptr< types::IAssetInformation > &that)=0
void VisitDataSpecificationIec61360(const std::shared_ptr< types::IDataSpecificationIec61360 > &that) override
void VisitFile(const std::shared_ptr< types::IFile > &that) override
virtual void VisitSubmodelElementCollection(const std::shared_ptr< types::ISubmodelElementCollection > &that)=0
virtual void VisitAdministrativeInformation(const std::shared_ptr< types::IAdministrativeInformation > &that)=0
void VisitLangStringTextType(const std::shared_ptr< types::ILangStringTextType > &that) override
void VisitSubmodelElementCollection(const std::shared_ptr< types::ISubmodelElementCollection > &that) override
virtual void VisitResource(const std::shared_ptr< types::IResource > &that)=0
void VisitEventPayload(const std::shared_ptr< types::IEventPayload > &that) override
virtual void VisitLangStringShortNameTypeIec61360(const std::shared_ptr< types::ILangStringShortNameTypeIec61360 > &that)=0
virtual void VisitRelationshipElement(const std::shared_ptr< types::IRelationshipElement > &that)=0
Definition visitation.hpp:16
Definition common.hpp:47
Definition common.hpp:46