1#ifndef AAS_CORE_AAS_3_1_VISITATION_GUARD_
2#define AAS_CORE_AAS_3_1_VISITATION_GUARD_
42 virtual void Visit(
const std::shared_ptr<types::IClass>& that) = 0;
47 const std::shared_ptr<types::IExtension>& that
50 const std::shared_ptr<types::IAdministrativeInformation>& that
53 const std::shared_ptr<types::IQualifier>& that
56 const std::shared_ptr<types::IAssetAdministrationShell>& that
59 const std::shared_ptr<types::IAssetInformation>& that
62 const std::shared_ptr<types::IResource>& that
65 const std::shared_ptr<types::ISpecificAssetId>& that
68 const std::shared_ptr<types::ISubmodel>& that
71 const std::shared_ptr<types::IRelationshipElement>& that
74 const std::shared_ptr<types::ISubmodelElementList>& that
77 const std::shared_ptr<types::ISubmodelElementCollection>& that
80 const std::shared_ptr<types::IProperty>& that
83 const std::shared_ptr<types::IMultiLanguageProperty>& that
86 const std::shared_ptr<types::IRange>& that
89 const std::shared_ptr<types::IReferenceElement>& that
92 const std::shared_ptr<types::IBlob>& that
95 const std::shared_ptr<types::IFile>& that
98 const std::shared_ptr<types::IAnnotatedRelationshipElement>& that
101 const std::shared_ptr<types::IEntity>& that
104 const std::shared_ptr<types::IEventPayload>& that
107 const std::shared_ptr<types::IBasicEventElement>& that
110 const std::shared_ptr<types::IOperation>& that
113 const std::shared_ptr<types::IOperationVariable>& that
116 const std::shared_ptr<types::ICapability>& that
119 const std::shared_ptr<types::IConceptDescription>& that
122 const std::shared_ptr<types::IReference>& that
125 const std::shared_ptr<types::IKey>& that
128 const std::shared_ptr<types::ILangStringNameType>& that
131 const std::shared_ptr<types::ILangStringTextType>& that
134 const std::shared_ptr<types::IEnvironment>& that
137 const std::shared_ptr<types::IEmbeddedDataSpecification>& that
140 const std::shared_ptr<types::ILevelType>& that
143 const std::shared_ptr<types::IValueReferencePair>& that
146 const std::shared_ptr<types::IValueList>& that
149 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& that
152 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& that
155 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& that
158 const std::shared_ptr<types::IDataSpecificationIec61360>& that
168 void Visit(
const std::shared_ptr<types::IClass>& that)
override;
185 const std::shared_ptr<types::IExtension>& that
188 const std::shared_ptr<types::IAdministrativeInformation>& that
191 const std::shared_ptr<types::IQualifier>& that
194 const std::shared_ptr<types::IAssetAdministrationShell>& that
197 const std::shared_ptr<types::IAssetInformation>& that
200 const std::shared_ptr<types::IResource>& that
203 const std::shared_ptr<types::ISpecificAssetId>& that
206 const std::shared_ptr<types::ISubmodel>& that
209 const std::shared_ptr<types::IRelationshipElement>& that
212 const std::shared_ptr<types::ISubmodelElementList>& that
215 const std::shared_ptr<types::ISubmodelElementCollection>& that
218 const std::shared_ptr<types::IProperty>& that
221 const std::shared_ptr<types::IMultiLanguageProperty>& that
224 const std::shared_ptr<types::IRange>& that
227 const std::shared_ptr<types::IReferenceElement>& that
230 const std::shared_ptr<types::IBlob>& that
233 const std::shared_ptr<types::IFile>& that
236 const std::shared_ptr<types::IAnnotatedRelationshipElement>& that
239 const std::shared_ptr<types::IEntity>& that
242 const std::shared_ptr<types::IEventPayload>& that
245 const std::shared_ptr<types::IBasicEventElement>& that
248 const std::shared_ptr<types::IOperation>& that
251 const std::shared_ptr<types::IOperationVariable>& that
254 const std::shared_ptr<types::ICapability>& that
257 const std::shared_ptr<types::IConceptDescription>& that
260 const std::shared_ptr<types::IReference>& that
263 const std::shared_ptr<types::IKey>& that
266 const std::shared_ptr<types::ILangStringNameType>& that
269 const std::shared_ptr<types::ILangStringTextType>& that
272 const std::shared_ptr<types::IEnvironment>& that
275 const std::shared_ptr<types::IEmbeddedDataSpecification>& that
278 const std::shared_ptr<types::ILevelType>& that
281 const std::shared_ptr<types::IValueReferencePair>& that
284 const std::shared_ptr<types::IValueList>& that
287 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& that
290 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& that
293 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& that
296 const std::shared_ptr<types::IDataSpecificationIec61360>& that
Definition visitation.hpp:166
Definition visitation.hpp:21
Provide a mutating, recursive and no-op visitor on an instance.
Definition visitation.hpp:179
virtual void VisitReferenceElement(const std::shared_ptr< types::IReferenceElement > &that)=0
void VisitExtension(const std::shared_ptr< types::IExtension > &that) override
void VisitRelationshipElement(const std::shared_ptr< types::IRelationshipElement > &that) override
~PassThroughVisitor() override=default
void VisitReferenceElement(const std::shared_ptr< types::IReferenceElement > &that) override
virtual void VisitBasicEventElement(const std::shared_ptr< types::IBasicEventElement > &that)=0
virtual void VisitRelationshipElement(const std::shared_ptr< types::IRelationshipElement > &that)=0
void VisitLangStringPreferredNameTypeIec61360(const std::shared_ptr< types::ILangStringPreferredNameTypeIec61360 > &that) override
void VisitBlob(const std::shared_ptr< types::IBlob > &that) override
virtual void VisitValueReferencePair(const std::shared_ptr< types::IValueReferencePair > &that)=0
void VisitDataSpecificationIec61360(const std::shared_ptr< types::IDataSpecificationIec61360 > &that) override
virtual void VisitCapability(const std::shared_ptr< types::ICapability > &that)=0
void VisitValueList(const std::shared_ptr< types::IValueList > &that) override
void VisitReference(const std::shared_ptr< types::IReference > &that) override
void VisitSubmodelElementCollection(const std::shared_ptr< types::ISubmodelElementCollection > &that) override
void VisitEntity(const std::shared_ptr< types::IEntity > &that) override
void VisitOperationVariable(const std::shared_ptr< types::IOperationVariable > &that) override
virtual void VisitBlob(const std::shared_ptr< types::IBlob > &that)=0
virtual void VisitProperty(const std::shared_ptr< types::IProperty > &that)=0
virtual void VisitAdministrativeInformation(const std::shared_ptr< types::IAdministrativeInformation > &that)=0
virtual void VisitOperationVariable(const std::shared_ptr< types::IOperationVariable > &that)=0
virtual void VisitAssetInformation(const std::shared_ptr< types::IAssetInformation > &that)=0
virtual void Visit(const std::shared_ptr< types::IClass > &that)=0
void VisitEventPayload(const std::shared_ptr< types::IEventPayload > &that) override
void VisitConceptDescription(const std::shared_ptr< types::IConceptDescription > &that) override
void VisitQualifier(const std::shared_ptr< types::IQualifier > &that) override
virtual void VisitSpecificAssetId(const std::shared_ptr< types::ISpecificAssetId > &that)=0
virtual void VisitLangStringPreferredNameTypeIec61360(const std::shared_ptr< types::ILangStringPreferredNameTypeIec61360 > &that)=0
virtual void VisitAssetAdministrationShell(const std::shared_ptr< types::IAssetAdministrationShell > &that)=0
virtual ~IVisitor()=default
void VisitOperation(const std::shared_ptr< types::IOperation > &that) override
void VisitSpecificAssetId(const std::shared_ptr< types::ISpecificAssetId > &that) override
virtual void VisitLangStringNameType(const std::shared_ptr< types::ILangStringNameType > &that)=0
void VisitLangStringTextType(const std::shared_ptr< types::ILangStringTextType > &that) override
virtual void VisitEnvironment(const std::shared_ptr< types::IEnvironment > &that)=0
void VisitFile(const std::shared_ptr< types::IFile > &that) override
void VisitLangStringShortNameTypeIec61360(const std::shared_ptr< types::ILangStringShortNameTypeIec61360 > &that) override
virtual void VisitAnnotatedRelationshipElement(const std::shared_ptr< types::IAnnotatedRelationshipElement > &that)=0
virtual void VisitKey(const std::shared_ptr< types::IKey > &that)=0
void VisitAssetAdministrationShell(const std::shared_ptr< types::IAssetAdministrationShell > &that) override
virtual void VisitLangStringDefinitionTypeIec61360(const std::shared_ptr< types::ILangStringDefinitionTypeIec61360 > &that)=0
void VisitLevelType(const std::shared_ptr< types::ILevelType > &that) override
virtual void VisitConceptDescription(const std::shared_ptr< types::IConceptDescription > &that)=0
void VisitSubmodel(const std::shared_ptr< types::ISubmodel > &that) override
virtual void VisitRange(const std::shared_ptr< types::IRange > &that)=0
void VisitKey(const std::shared_ptr< types::IKey > &that) override
void VisitSubmodelElementList(const std::shared_ptr< types::ISubmodelElementList > &that) override
virtual void VisitReference(const std::shared_ptr< types::IReference > &that)=0
virtual void VisitSubmodel(const std::shared_ptr< types::ISubmodel > &that)=0
virtual void VisitMultiLanguageProperty(const std::shared_ptr< types::IMultiLanguageProperty > &that)=0
void VisitValueReferencePair(const std::shared_ptr< types::IValueReferencePair > &that) override
~AbstractVisitor() override=default
virtual void VisitEventPayload(const std::shared_ptr< types::IEventPayload > &that)=0
virtual void VisitDataSpecificationIec61360(const std::shared_ptr< types::IDataSpecificationIec61360 > &that)=0
void VisitBasicEventElement(const std::shared_ptr< types::IBasicEventElement > &that) override
virtual void VisitOperation(const std::shared_ptr< types::IOperation > &that)=0
virtual void VisitLangStringTextType(const std::shared_ptr< types::ILangStringTextType > &that)=0
void VisitRange(const std::shared_ptr< types::IRange > &that) override
virtual void VisitExtension(const std::shared_ptr< types::IExtension > &that)=0
virtual void VisitEntity(const std::shared_ptr< types::IEntity > &that)=0
virtual void VisitEmbeddedDataSpecification(const std::shared_ptr< types::IEmbeddedDataSpecification > &that)=0
void VisitMultiLanguageProperty(const std::shared_ptr< types::IMultiLanguageProperty > &that) override
void VisitProperty(const std::shared_ptr< types::IProperty > &that) override
virtual void VisitLevelType(const std::shared_ptr< types::ILevelType > &that)=0
void VisitCapability(const std::shared_ptr< types::ICapability > &that) override
void VisitEmbeddedDataSpecification(const std::shared_ptr< types::IEmbeddedDataSpecification > &that) override
void VisitEnvironment(const std::shared_ptr< types::IEnvironment > &that) override
void VisitLangStringNameType(const std::shared_ptr< types::ILangStringNameType > &that) override
virtual void VisitQualifier(const std::shared_ptr< types::IQualifier > &that)=0
void VisitAdministrativeInformation(const std::shared_ptr< types::IAdministrativeInformation > &that) override
void VisitAssetInformation(const std::shared_ptr< types::IAssetInformation > &that) override
void VisitResource(const std::shared_ptr< types::IResource > &that) override
virtual void VisitLangStringShortNameTypeIec61360(const std::shared_ptr< types::ILangStringShortNameTypeIec61360 > &that)=0
virtual void VisitSubmodelElementCollection(const std::shared_ptr< types::ISubmodelElementCollection > &that)=0
virtual void VisitSubmodelElementList(const std::shared_ptr< types::ISubmodelElementList > &that)=0
virtual void VisitResource(const std::shared_ptr< types::IResource > &that)=0
virtual void VisitFile(const std::shared_ptr< types::IFile > &that)=0
virtual void VisitValueList(const std::shared_ptr< types::IValueList > &that)=0
void VisitLangStringDefinitionTypeIec61360(const std::shared_ptr< types::ILangStringDefinitionTypeIec61360 > &that) override
void VisitAnnotatedRelationshipElement(const std::shared_ptr< types::IAnnotatedRelationshipElement > &that) override
void Visit(const std::shared_ptr< types::IClass > &that) override