1#ifndef AAS_CORE_AAS_3_0_VISITATION_GUARD_ 
    2#define AAS_CORE_AAS_3_0_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
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
~PassThroughVisitor() override=default
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
virtual ~IVisitor()=default
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
~AbstractVisitor() override=default
virtual void VisitRelationshipElement(const std::shared_ptr< types::IRelationshipElement > &that)=0
Definition visitation.hpp:16