aas-core3 1.0.0
Manipulate, verify and de/serialize asset administration shells in C++.
Loading...
Searching...
No Matches
types.hpp File Reference
#include "aas_core/aas_3_0/common.hpp"
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  aas_core::aas_3_0::types::IClass
 
class  aas_core::aas_3_0::types::IHasSemantics
 Element that can have a semantic definition plus some supplemental semantic definitions. More...
 
class  aas_core::aas_3_0::types::IExtension
 Single extension of an element. More...
 
class  aas_core::aas_3_0::types::IHasExtensions
 Element that can be extended by proprietary extensions. More...
 
class  aas_core::aas_3_0::types::IReferable
 An element that is referable by its IReferable::id_short. More...
 
class  aas_core::aas_3_0::types::IIdentifiable
 An element that has a globally unique identifier. More...
 
class  aas_core::aas_3_0::types::IHasKind
 An element with a kind is an element that can either represent a template or an instance. More...
 
class  aas_core::aas_3_0::types::IHasDataSpecification
 Element that can be extended by using data specification templates. More...
 
class  aas_core::aas_3_0::types::IAdministrativeInformation
 Administrative meta-information for an element like version information. More...
 
class  aas_core::aas_3_0::types::IQualifiable
 The value of a qualifiable element may be further qualified by one or more qualifiers. More...
 
class  aas_core::aas_3_0::types::IQualifier
 A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. More...
 
class  aas_core::aas_3_0::types::IAssetAdministrationShell
 An asset administration shell. More...
 
class  aas_core::aas_3_0::types::IAssetInformation
 In IAssetInformation identifying meta data of the asset that is represented by an AAS is defined. More...
 
class  aas_core::aas_3_0::types::IResource
 Resource represents an address to a file (a locator). The value is an URI that can represent an absolute or relative path. More...
 
class  aas_core::aas_3_0::types::ISpecificAssetId
 A specific asset ID describes a generic supplementary identifying attribute of the asset. More...
 
class  aas_core::aas_3_0::types::ISubmodel
 A submodel defines a specific aspect of the asset represented by the AAS. More...
 
class  aas_core::aas_3_0::types::ISubmodelElement
 A submodel element is an element suitable for the description and differentiation of assets. More...
 
class  aas_core::aas_3_0::types::IRelationshipElement
 A relationship element is used to define a relationship between two elements being either referable (model reference) or external (global reference). More...
 
class  aas_core::aas_3_0::types::ISubmodelElementList
 A submodel element list is an ordered list of submodel elements. More...
 
class  aas_core::aas_3_0::types::ISubmodelElementCollection
 A submodel element collection is a kind of struct, i.e. a a logical encapsulation of multiple named values. It has a fixed number of submodel elements. More...
 
class  aas_core::aas_3_0::types::IDataElement
 A data element is a submodel element that is not further composed out of other submodel elements. More...
 
class  aas_core::aas_3_0::types::IProperty
 A property is a data element that has a single value. More...
 
class  aas_core::aas_3_0::types::IMultiLanguageProperty
 A property is a data element that has a multi-language value. More...
 
class  aas_core::aas_3_0::types::IRange
 A range data element is a data element that defines a range with min and max. More...
 
class  aas_core::aas_3_0::types::IReferenceElement
 A reference element is a data element that defines a logical reference to another element within the same or another AAS or a reference to an external object or entity. More...
 
class  aas_core::aas_3_0::types::IBlob
 A IBlob is a data element that represents a file that is contained with its source code in the value attribute. More...
 
class  aas_core::aas_3_0::types::IFile
 A File is a data element that represents an address to a file (a locator). More...
 
class  aas_core::aas_3_0::types::IAnnotatedRelationshipElement
 An annotated relationship element is a relationship element that can be annotated with additional data elements. More...
 
class  aas_core::aas_3_0::types::IEntity
 An entity is a submodel element that is used to model entities. More...
 
class  aas_core::aas_3_0::types::IEventPayload
 Defines the necessary information of an event instance sent out or received. More...
 
class  aas_core::aas_3_0::types::IEventElement
 An event element. More...
 
class  aas_core::aas_3_0::types::IBasicEventElement
 A basic event element. More...
 
class  aas_core::aas_3_0::types::IOperation
 An operation is a submodel element with input and output variables. More...
 
class  aas_core::aas_3_0::types::IOperationVariable
 The value of an operation variable is a submodel element that is used as input and/or output variable of an operation. More...
 
class  aas_core::aas_3_0::types::ICapability
 A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world. More...
 
class  aas_core::aas_3_0::types::IConceptDescription
 The semantics of a property or other elements that may have a semantic description is defined by a concept description. More...
 
class  aas_core::aas_3_0::types::IReference
 Reference to either a model element of the same or another AAS or to an external entity. More...
 
class  aas_core::aas_3_0::types::IKey
 A key is a reference to an element by its ID. More...
 
class  aas_core::aas_3_0::types::IAbstractLangString
 Strings with language tags. More...
 
class  aas_core::aas_3_0::types::ILangStringNameType
 String with length 128 maximum and minimum 1 characters and with language tags. More...
 
class  aas_core::aas_3_0::types::ILangStringTextType
 String with length 1023 maximum and minimum 1 characters and with language tags. More...
 
class  aas_core::aas_3_0::types::IEnvironment
 Container for the sets of different identifiables. More...
 
class  aas_core::aas_3_0::types::IDataSpecificationContent
 Data specification content is part of a data specification template and defines which additional attributes shall be added to the element instance that references the data specification template and meta information about the template itself. More...
 
class  aas_core::aas_3_0::types::IEmbeddedDataSpecification
 Embed the content of a data specification. More...
 
class  aas_core::aas_3_0::types::ILevelType
 Value represented by up to four variants of a numeric value in a specific role: MIN, NOM, TYP and MAX. True means that the value is available, false means the value is not available. More...
 
class  aas_core::aas_3_0::types::IValueReferencePair
 A value reference pair within a value list. Each value has a global unique id defining its semantic. More...
 
class  aas_core::aas_3_0::types::IValueList
 A set of value reference pairs. More...
 
class  aas_core::aas_3_0::types::ILangStringPreferredNameTypeIec61360
 String with length 255 maximum and minimum 1 characters and with language tags. More...
 
class  aas_core::aas_3_0::types::ILangStringShortNameTypeIec61360
 String with length 18 maximum and minimum 1 characters and with language tags. More...
 
class  aas_core::aas_3_0::types::ILangStringDefinitionTypeIec61360
 String with length 1023 maximum and minimum 1 characters and with language tags. More...
 

Namespaces

namespace  aas_core
 
namespace  aas_core::aas_3_0
 
namespace  aas_core::aas_3_0::types
 

Enumerations

enum class  aas_core::aas_3_0::types::ModelType : std::uint32_t {
  aas_core::aas_3_0::types::kExtension = 0 , aas_core::aas_3_0::types::kAdministrativeInformation = 1 , aas_core::aas_3_0::types::kQualifier = 2 , aas_core::aas_3_0::types::kAssetAdministrationShell = 3 ,
  aas_core::aas_3_0::types::kAssetInformation = 4 , aas_core::aas_3_0::types::kResource = 5 , aas_core::aas_3_0::types::kSpecificAssetId = 6 , aas_core::aas_3_0::types::kSubmodel = 7 ,
  aas_core::aas_3_0::types::kRelationshipElement = 8 , aas_core::aas_3_0::types::kSubmodelElementList = 9 , aas_core::aas_3_0::types::kSubmodelElementCollection = 10 , aas_core::aas_3_0::types::kProperty = 11 ,
  aas_core::aas_3_0::types::kMultiLanguageProperty = 12 , aas_core::aas_3_0::types::kRange = 13 , aas_core::aas_3_0::types::kReferenceElement = 14 , aas_core::aas_3_0::types::kBlob = 15 ,
  aas_core::aas_3_0::types::kFile = 16 , aas_core::aas_3_0::types::kAnnotatedRelationshipElement = 17 , aas_core::aas_3_0::types::kEntity = 18 , aas_core::aas_3_0::types::kEventPayload = 19 ,
  aas_core::aas_3_0::types::kBasicEventElement = 20 , aas_core::aas_3_0::types::kOperation = 21 , aas_core::aas_3_0::types::kOperationVariable = 22 , aas_core::aas_3_0::types::kCapability = 23 ,
  aas_core::aas_3_0::types::kConceptDescription = 24 , aas_core::aas_3_0::types::kReference = 25 , aas_core::aas_3_0::types::kKey = 26 , aas_core::aas_3_0::types::kLangStringNameType = 27 ,
  aas_core::aas_3_0::types::kLangStringTextType = 28 , aas_core::aas_3_0::types::kEnvironment = 29 , aas_core::aas_3_0::types::kEmbeddedDataSpecification = 30 , aas_core::aas_3_0::types::kLevelType = 31 ,
  aas_core::aas_3_0::types::kValueReferencePair = 32 , aas_core::aas_3_0::types::kValueList = 33 , aas_core::aas_3_0::types::kLangStringPreferredNameTypeIec61360 = 34 , aas_core::aas_3_0::types::kLangStringShortNameTypeIec61360 = 35 ,
  aas_core::aas_3_0::types::kLangStringDefinitionTypeIec61360 = 36 , aas_core::aas_3_0::types::kDataSpecificationIec61360 = 37
}
 
enum class  aas_core::aas_3_0::types::ModellingKind : std::uint32_t { aas_core::aas_3_0::types::kTemplate = 0 , aas_core::aas_3_0::types::kInstance = 1 }
 Enumeration for denoting whether an element is a template or an instance. More...
 
enum class  aas_core::aas_3_0::types::QualifierKind : std::uint32_t { aas_core::aas_3_0::types::kValueQualifier = 0 , aas_core::aas_3_0::types::kConceptQualifier = 1 , aas_core::aas_3_0::types::kTemplateQualifier = 2 }
 Enumeration for kinds of qualifiers. More...
 
enum class  aas_core::aas_3_0::types::AssetKind : std::uint32_t { aas_core::aas_3_0::types::kType = 0 , aas_core::aas_3_0::types::kInstance = 1 , aas_core::aas_3_0::types::kNotApplicable = 2 }
 Enumeration for denoting whether an asset is a type asset or an instance asset. More...
 
enum class  aas_core::aas_3_0::types::AasSubmodelElements : std::uint32_t {
  aas_core::aas_3_0::types::kAnnotatedRelationshipElement = 0 , aas_core::aas_3_0::types::kBasicEventElement = 1 , aas_core::aas_3_0::types::kBlob = 2 , aas_core::aas_3_0::types::kCapability = 3 ,
  aas_core::aas_3_0::types::kDataElement = 4 , aas_core::aas_3_0::types::kEntity = 5 , aas_core::aas_3_0::types::kEventElement = 6 , aas_core::aas_3_0::types::kFile = 7 ,
  aas_core::aas_3_0::types::kMultiLanguageProperty = 8 , aas_core::aas_3_0::types::kOperation = 9 , aas_core::aas_3_0::types::kProperty = 10 , aas_core::aas_3_0::types::kRange = 11 ,
  aas_core::aas_3_0::types::kReferenceElement = 12 , aas_core::aas_3_0::types::kRelationshipElement = 13 , aas_core::aas_3_0::types::kSubmodelElement = 14 , aas_core::aas_3_0::types::kSubmodelElementList = 15 ,
  aas_core::aas_3_0::types::kSubmodelElementCollection = 16
}
 Enumeration of all possible elements of a ISubmodelElementList. More...
 
enum class  aas_core::aas_3_0::types::EntityType : std::uint32_t { aas_core::aas_3_0::types::kCoManagedEntity = 0 , aas_core::aas_3_0::types::kSelfManagedEntity = 1 }
 Enumeration for denoting whether an entity is a self-managed entity or a co-managed entity. More...
 
enum class  aas_core::aas_3_0::types::Direction : std::uint32_t { aas_core::aas_3_0::types::kInput = 0 , aas_core::aas_3_0::types::kOutput = 1 }
 Direction. More...
 
enum class  aas_core::aas_3_0::types::StateOfEvent : std::uint32_t { aas_core::aas_3_0::types::kOn = 0 , aas_core::aas_3_0::types::kOff = 1 }
 State of an event. More...
 
enum class  aas_core::aas_3_0::types::ReferenceTypes : std::uint32_t { aas_core::aas_3_0::types::kExternalReference = 0 , aas_core::aas_3_0::types::kModelReference = 1 }
 Reference types. More...
 
enum class  aas_core::aas_3_0::types::KeyTypes : std::uint32_t {
  aas_core::aas_3_0::types::kAnnotatedRelationshipElement = 0 , aas_core::aas_3_0::types::kAssetAdministrationShell = 1 , aas_core::aas_3_0::types::kBasicEventElement = 2 , aas_core::aas_3_0::types::kBlob = 3 ,
  aas_core::aas_3_0::types::kCapability = 4 , aas_core::aas_3_0::types::kConceptDescription = 5 , aas_core::aas_3_0::types::kDataElement = 6 , aas_core::aas_3_0::types::kEntity = 7 ,
  aas_core::aas_3_0::types::kEventElement = 8 , aas_core::aas_3_0::types::kFile = 9 , aas_core::aas_3_0::types::kFragmentReference = 10 , aas_core::aas_3_0::types::kGlobalReference = 11 ,
  aas_core::aas_3_0::types::kIdentifiable = 12 , aas_core::aas_3_0::types::kMultiLanguageProperty = 13 , aas_core::aas_3_0::types::kOperation = 14 , aas_core::aas_3_0::types::kProperty = 15 ,
  aas_core::aas_3_0::types::kRange = 16 , aas_core::aas_3_0::types::kReferable = 17 , aas_core::aas_3_0::types::kReferenceElement = 18 , aas_core::aas_3_0::types::kRelationshipElement = 19 ,
  aas_core::aas_3_0::types::kSubmodel = 20 , aas_core::aas_3_0::types::kSubmodelElement = 21 , aas_core::aas_3_0::types::kSubmodelElementCollection = 22 , aas_core::aas_3_0::types::kSubmodelElementList = 23
}
 Enumeration of different key value types within a key. More...
 
enum class  aas_core::aas_3_0::types::DataTypeDefXsd : std::uint32_t {
  aas_core::aas_3_0::types::kAnyUri = 0 , aas_core::aas_3_0::types::kBase64Binary = 1 , aas_core::aas_3_0::types::kBoolean = 2 , aas_core::aas_3_0::types::kByte = 3 ,
  aas_core::aas_3_0::types::kDate = 4 , aas_core::aas_3_0::types::kDateTime = 5 , aas_core::aas_3_0::types::kDecimal = 6 , aas_core::aas_3_0::types::kDouble = 7 ,
  aas_core::aas_3_0::types::kDuration = 8 , aas_core::aas_3_0::types::kFloat = 9 , aas_core::aas_3_0::types::kGDay = 10 , aas_core::aas_3_0::types::kGMonth = 11 ,
  aas_core::aas_3_0::types::kGMonthDay = 12 , aas_core::aas_3_0::types::kGYear = 13 , aas_core::aas_3_0::types::kGYearMonth = 14 , aas_core::aas_3_0::types::kHexBinary = 15 ,
  aas_core::aas_3_0::types::kInt = 16 , aas_core::aas_3_0::types::kInteger = 17 , aas_core::aas_3_0::types::kLong = 18 , aas_core::aas_3_0::types::kNegativeInteger = 19 ,
  aas_core::aas_3_0::types::kNonNegativeInteger = 20 , aas_core::aas_3_0::types::kNonPositiveInteger = 21 , aas_core::aas_3_0::types::kPositiveInteger = 22 , aas_core::aas_3_0::types::kShort = 23 ,
  aas_core::aas_3_0::types::kString = 24 , aas_core::aas_3_0::types::kTime = 25 , aas_core::aas_3_0::types::kUnsignedByte = 26 , aas_core::aas_3_0::types::kUnsignedInt = 27 ,
  aas_core::aas_3_0::types::kUnsignedLong = 28 , aas_core::aas_3_0::types::kUnsignedShort = 29
}
 Enumeration listing all XSD anySimpleTypes. More...
 
enum class  aas_core::aas_3_0::types::DataTypeIec61360 : std::uint32_t {
  aas_core::aas_3_0::types::kDate = 0 , aas_core::aas_3_0::types::kString = 1 , aas_core::aas_3_0::types::kStringTranslatable = 2 , aas_core::aas_3_0::types::kIntegerMeasure = 3 ,
  aas_core::aas_3_0::types::kIntegerCount = 4 , aas_core::aas_3_0::types::kIntegerCurrency = 5 , aas_core::aas_3_0::types::kRealMeasure = 6 , aas_core::aas_3_0::types::kRealCount = 7 ,
  aas_core::aas_3_0::types::kRealCurrency = 8 , aas_core::aas_3_0::types::kBoolean = 9 , aas_core::aas_3_0::types::kIri = 10 , aas_core::aas_3_0::types::kIrdi = 11 ,
  aas_core::aas_3_0::types::kRational = 12 , aas_core::aas_3_0::types::kRationalMeasure = 13 , aas_core::aas_3_0::types::kTime = 14 , aas_core::aas_3_0::types::kTimestamp = 15 ,
  aas_core::aas_3_0::types::kFile = 16 , aas_core::aas_3_0::types::kHtml = 17 , aas_core::aas_3_0::types::kBlob = 18
}
 

Functions

bool aas_core::aas_3_0::types::IsHasSemantics (const IClass &that)
 Check whether that instance is of runtime type IHasSemantics.
 
bool aas_core::aas_3_0::types::IsExtension (const IClass &that)
 Check whether that instance is of runtime type IExtension.
 
bool aas_core::aas_3_0::types::IsHasExtensions (const IClass &that)
 Check whether that instance is of runtime type IHasExtensions.
 
bool aas_core::aas_3_0::types::IsReferable (const IClass &that)
 Check whether that instance is of runtime type IReferable.
 
bool aas_core::aas_3_0::types::IsIdentifiable (const IClass &that)
 Check whether that instance is of runtime type IIdentifiable.
 
bool aas_core::aas_3_0::types::IsHasKind (const IClass &that)
 Check whether that instance is of runtime type IHasKind.
 
bool aas_core::aas_3_0::types::IsHasDataSpecification (const IClass &that)
 Check whether that instance is of runtime type IHasDataSpecification.
 
bool aas_core::aas_3_0::types::IsAdministrativeInformation (const IClass &that)
 Check whether that instance is of runtime type IAdministrativeInformation.
 
bool aas_core::aas_3_0::types::IsQualifiable (const IClass &that)
 Check whether that instance is of runtime type IQualifiable.
 
bool aas_core::aas_3_0::types::IsQualifier (const IClass &that)
 Check whether that instance is of runtime type IQualifier.
 
bool aas_core::aas_3_0::types::IsAssetAdministrationShell (const IClass &that)
 Check whether that instance is of runtime type IAssetAdministrationShell.
 
bool aas_core::aas_3_0::types::IsAssetInformation (const IClass &that)
 Check whether that instance is of runtime type IAssetInformation.
 
bool aas_core::aas_3_0::types::IsResource (const IClass &that)
 Check whether that instance is of runtime type IResource.
 
bool aas_core::aas_3_0::types::IsSpecificAssetId (const IClass &that)
 Check whether that instance is of runtime type ISpecificAssetId.
 
bool aas_core::aas_3_0::types::IsSubmodel (const IClass &that)
 Check whether that instance is of runtime type ISubmodel.
 
bool aas_core::aas_3_0::types::IsSubmodelElement (const IClass &that)
 Check whether that instance is of runtime type ISubmodelElement.
 
bool aas_core::aas_3_0::types::IsRelationshipElement (const IClass &that)
 Check whether that instance is of runtime type IRelationshipElement.
 
bool aas_core::aas_3_0::types::IsSubmodelElementList (const IClass &that)
 Check whether that instance is of runtime type ISubmodelElementList.
 
bool aas_core::aas_3_0::types::IsSubmodelElementCollection (const IClass &that)
 Check whether that instance is of runtime type ISubmodelElementCollection.
 
bool aas_core::aas_3_0::types::IsDataElement (const IClass &that)
 Check whether that instance is of runtime type IDataElement.
 
bool aas_core::aas_3_0::types::IsProperty (const IClass &that)
 Check whether that instance is of runtime type IProperty.
 
bool aas_core::aas_3_0::types::IsMultiLanguageProperty (const IClass &that)
 Check whether that instance is of runtime type IMultiLanguageProperty.
 
bool aas_core::aas_3_0::types::IsRange (const IClass &that)
 Check whether that instance is of runtime type IRange.
 
bool aas_core::aas_3_0::types::IsReferenceElement (const IClass &that)
 Check whether that instance is of runtime type IReferenceElement.
 
bool aas_core::aas_3_0::types::IsBlob (const IClass &that)
 Check whether that instance is of runtime type IBlob.
 
bool aas_core::aas_3_0::types::IsFile (const IClass &that)
 Check whether that instance is of runtime type IFile.
 
bool aas_core::aas_3_0::types::IsAnnotatedRelationshipElement (const IClass &that)
 Check whether that instance is of runtime type IAnnotatedRelationshipElement.
 
bool aas_core::aas_3_0::types::IsEntity (const IClass &that)
 Check whether that instance is of runtime type IEntity.
 
bool aas_core::aas_3_0::types::IsEventPayload (const IClass &that)
 Check whether that instance is of runtime type IEventPayload.
 
bool aas_core::aas_3_0::types::IsEventElement (const IClass &that)
 Check whether that instance is of runtime type IEventElement.
 
bool aas_core::aas_3_0::types::IsBasicEventElement (const IClass &that)
 Check whether that instance is of runtime type IBasicEventElement.
 
bool aas_core::aas_3_0::types::IsOperation (const IClass &that)
 Check whether that instance is of runtime type IOperation.
 
bool aas_core::aas_3_0::types::IsOperationVariable (const IClass &that)
 Check whether that instance is of runtime type IOperationVariable.
 
bool aas_core::aas_3_0::types::IsCapability (const IClass &that)
 Check whether that instance is of runtime type ICapability.
 
bool aas_core::aas_3_0::types::IsConceptDescription (const IClass &that)
 Check whether that instance is of runtime type IConceptDescription.
 
bool aas_core::aas_3_0::types::IsReference (const IClass &that)
 Check whether that instance is of runtime type IReference.
 
bool aas_core::aas_3_0::types::IsKey (const IClass &that)
 Check whether that instance is of runtime type IKey.
 
bool aas_core::aas_3_0::types::IsAbstractLangString (const IClass &that)
 Check whether that instance is of runtime type IAbstractLangString.
 
bool aas_core::aas_3_0::types::IsLangStringNameType (const IClass &that)
 Check whether that instance is of runtime type ILangStringNameType.
 
bool aas_core::aas_3_0::types::IsLangStringTextType (const IClass &that)
 Check whether that instance is of runtime type ILangStringTextType.
 
bool aas_core::aas_3_0::types::IsEnvironment (const IClass &that)
 Check whether that instance is of runtime type IEnvironment.
 
bool aas_core::aas_3_0::types::IsDataSpecificationContent (const IClass &that)
 Check whether that instance is of runtime type IDataSpecificationContent.
 
bool aas_core::aas_3_0::types::IsEmbeddedDataSpecification (const IClass &that)
 Check whether that instance is of runtime type IEmbeddedDataSpecification.
 
bool aas_core::aas_3_0::types::IsLevelType (const IClass &that)
 Check whether that instance is of runtime type ILevelType.
 
bool aas_core::aas_3_0::types::IsValueReferencePair (const IClass &that)
 Check whether that instance is of runtime type IValueReferencePair.
 
bool aas_core::aas_3_0::types::IsValueList (const IClass &that)
 Check whether that instance is of runtime type IValueList.
 
bool aas_core::aas_3_0::types::IsLangStringPreferredNameTypeIec61360 (const IClass &that)
 Check whether that instance is of runtime type ILangStringPreferredNameTypeIec61360.
 
bool aas_core::aas_3_0::types::IsLangStringShortNameTypeIec61360 (const IClass &that)
 Check whether that instance is of runtime type ILangStringShortNameTypeIec61360.
 
bool aas_core::aas_3_0::types::IsLangStringDefinitionTypeIec61360 (const IClass &that)
 Check whether that instance is of runtime type ILangStringDefinitionTypeIec61360.
 
*an instance of ref IDataSpecificationIec61360 *bool aas_core::aas_3_0::types::IsDataSpecificationIec61360 (const IClass &that)
 Check whether that instance is of runtime type IDataSpecificationIec61360.