aas-core3 1.0.0
Manipulate, verify and de/serialize asset administration shells in C++.
Loading...
Searching...
No Matches
verification.hpp File Reference

Go to the source code of this file.

Classes

struct  aas_core::aas_3_0::verification::Error
 
class  aas_core::aas_3_0::verification::Iterator
 Iterate over the verification errors. More...
 
class  aas_core::aas_3_0::verification::IVerification
 
class  aas_core::aas_3_0::verification::NonRecursiveVerification
 Verify that the instance conforms to the meta-model constraints. More...
 
class  aas_core::aas_3_0::verification::RecursiveVerification
 Verify that the instance conforms to the meta-model constraints. More...
 

Namespaces

namespace  aas_core
 
namespace  aas_core::aas_3_0
 
namespace  aas_core::aas_3_0::verification
 
namespace  aas_core::aas_3_0::verification::impl
 

Functions

bool aas_core::aas_3_0::verification::operator== (const Iterator &a, const Iterator &b)
 
bool aas_core::aas_3_0::verification::operator!= (const Iterator &a, const Iterator &b)
 
bool aas_core::aas_3_0::verification::MatchesIdShort (const std::wstring &text)
 Check that text is a valid short ID.
 
bool aas_core::aas_3_0::verification::MatchesVersionType (const std::wstring &text)
 Check that text is a valid version string.
 
bool aas_core::aas_3_0::verification::MatchesRevisionType (const std::wstring &text)
 Check that text is a valid revision string.
 
bool aas_core::aas_3_0::verification::MatchesXsDateTimeUtc (const std::wstring &text)
 Check that text conforms to the pattern of an xs:dateTime.
 
bool aas_core::aas_3_0::verification::IsXsDateTimeUtc (const std::wstring &text)
 Check that text is a xs:dateTime with time zone set to UTC.
 
bool aas_core::aas_3_0::verification::MatchesMimeType (const std::wstring &text)
 Check that text conforms to the pattern of MIME type.
 
bool aas_core::aas_3_0::verification::MatchesRfc8089Path (const std::wstring &text)
 Check that text is a path conforming to the pattern of RFC 8089.
 
bool aas_core::aas_3_0::verification::MatchesBcp47 (const std::wstring &text)
 Check that text is a valid BCP 47 language tag.
 
template<typename LangStringT, typename std::enable_if< std::is_base_of< types::IAbstractLangString, LangStringT >::value >::type * = nullptr>
bool aas_core::aas_3_0::verification::LangStringsHaveUniqueLanguages (const std::vector< std::shared_ptr< LangStringT > > &lang_strings)
 Check that the lang_strings do not have overlapping types::IAbstractLangString::language's.
 
bool aas_core::aas_3_0::verification::QualifierTypesAreUnique (const std::vector< std::shared_ptr< types::IQualifier > > &qualifiers)
 Check that types::IQualifier::type's of qualifiers are unique.
 
bool aas_core::aas_3_0::verification::MatchesXmlSerializableString (const std::wstring &text)
 Check that text conforms to the pattern of the Constraint AASd-130.
 
bool aas_core::aas_3_0::verification::MatchesXsAnyUri (const std::wstring &text)
 Check that text conforms to the pattern of an xs:anyURI.
 
bool aas_core::aas_3_0::verification::MatchesXsBase64Binary (const std::wstring &text)
 Check that text conforms to the pattern of an xs:base64Binary.
 
bool aas_core::aas_3_0::verification::MatchesXsBoolean (const std::wstring &text)
 Check that text conforms to the pattern of an xs:boolean.
 
bool aas_core::aas_3_0::verification::MatchesXsDate (const std::wstring &text)
 Check that text conforms to the pattern of an xs:date.
 
bool aas_core::aas_3_0::verification::MatchesXsDateTime (const std::wstring &text)
 Check that text conforms to the pattern of an xs:dateTime.
 
bool aas_core::aas_3_0::verification::IsXsDateTime (const std::wstring &text)
 Check that text is a xs:dateTime with time zone set to UTC.
 
bool aas_core::aas_3_0::verification::MatchesXsDecimal (const std::wstring &text)
 Check that text conforms to the pattern of an xs:decimal.
 
bool aas_core::aas_3_0::verification::MatchesXsDouble (const std::wstring &text)
 Check that text conforms to the pattern of an xs:double.
 
bool aas_core::aas_3_0::verification::MatchesXsDuration (const std::wstring &text)
 Check that text conforms to the pattern of an xs:duration.
 
bool aas_core::aas_3_0::verification::MatchesXsFloat (const std::wstring &text)
 Check that text conforms to the pattern of an xs:float.
 
bool aas_core::aas_3_0::verification::MatchesXsGDay (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gDay.
 
bool aas_core::aas_3_0::verification::MatchesXsGMonth (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gMonth.
 
bool aas_core::aas_3_0::verification::MatchesXsGMonthDay (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gMonthDay.
 
bool aas_core::aas_3_0::verification::MatchesXsGYear (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gYear.
 
bool aas_core::aas_3_0::verification::MatchesXsGYearMonth (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gYearMonth.
 
bool aas_core::aas_3_0::verification::MatchesXsHexBinary (const std::wstring &text)
 Check that text conforms to the pattern of an xs:hexBinary.
 
bool aas_core::aas_3_0::verification::MatchesXsTime (const std::wstring &text)
 Check that text conforms to the pattern of an xs:time.
 
bool aas_core::aas_3_0::verification::MatchesXsInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:integer.
 
bool aas_core::aas_3_0::verification::MatchesXsLong (const std::wstring &text)
 Check that text conforms to the pattern of an xs:long.
 
bool aas_core::aas_3_0::verification::MatchesXsInt (const std::wstring &text)
 Check that text conforms to the pattern of an xs:int.
 
bool aas_core::aas_3_0::verification::MatchesXsShort (const std::wstring &text)
 Check that text conforms to the pattern of an xs:short.
 
bool aas_core::aas_3_0::verification::MatchesXsByte (const std::wstring &text)
 Check that text conforms to the pattern of an xs:byte.
 
bool aas_core::aas_3_0::verification::MatchesXsNonNegativeInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:nonNegativeInteger.
 
bool aas_core::aas_3_0::verification::MatchesXsPositiveInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:positiveInteger.
 
bool aas_core::aas_3_0::verification::MatchesXsUnsignedLong (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedLong.
 
bool aas_core::aas_3_0::verification::MatchesXsUnsignedInt (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedInt.
 
bool aas_core::aas_3_0::verification::MatchesXsUnsignedShort (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedShort.
 
bool aas_core::aas_3_0::verification::MatchesXsUnsignedByte (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedByte.
 
bool aas_core::aas_3_0::verification::MatchesXsNonPositiveInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:nonPositiveInteger.
 
bool aas_core::aas_3_0::verification::MatchesXsNegativeInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:negativeInteger.
 
bool aas_core::aas_3_0::verification::MatchesXsString (const std::wstring &text)
 Check that text conforms to the pattern of an xs:string.
 
bool aas_core::aas_3_0::verification::ValueConsistentWithXsdType (const std::wstring &value, types::DataTypeDefXsd value_type)
 Check that the value conforms to its value_type.
 
bool aas_core::aas_3_0::verification::IsXsDate (const std::wstring &text)
 Check that value is a valid xs:date.
 
bool aas_core::aas_3_0::verification::IsXsDouble (const std::wstring &value)
 Check that value is a valid xs:double.
 
bool aas_core::aas_3_0::verification::IsXsFloat (const std::wstring &value)
 Check that value is a valid xs:float.
 
bool aas_core::aas_3_0::verification::IsXsGMonthDay (const std::wstring &value)
 Check that value is a valid xs:gMonthDay.
 
bool aas_core::aas_3_0::verification::IsXsLong (const std::wstring &value)
 Check that value is a valid xs:long.
 
bool aas_core::aas_3_0::verification::IsXsInt (const std::wstring &value)
 Check that value is a valid xs:int.
 
bool aas_core::aas_3_0::verification::IsXsShort (const std::wstring &value)
 Check that value is a valid xs:short.
 
bool aas_core::aas_3_0::verification::IsXsByte (const std::wstring &value)
 Check that value is a valid xs:byte.
 
bool aas_core::aas_3_0::verification::IsXsUnsignedLong (const std::wstring &value)
 Check that value is a valid xs:unsignedLong.
 
bool aas_core::aas_3_0::verification::IsXsUnsignedInt (const std::wstring &value)
 Check that value is a valid xs:unsignedInt.
 
bool aas_core::aas_3_0::verification::IsXsUnsignedShort (const std::wstring &value)
 Check that value is a valid xs:unsignedShort.
 
bool aas_core::aas_3_0::verification::IsXsUnsignedByte (const std::wstring &value)
 Check that value is a valid xs:unsignedByte.
 
bool aas_core::aas_3_0::verification::IsModelReferenceTo (const std::shared_ptr< types::IReference > &reference, types::KeyTypes expected_type)
 Check that the target of the model reference matches the expected_type.
 
bool aas_core::aas_3_0::verification::IsModelReferenceToReferable (const std::shared_ptr< types::IReference > &reference)
 Check that the target of the reference matches a constants::kAasReferables.
 
template<typename ReferableT, typename std::enable_if< std::is_base_of< types::IReferable, ReferableT >::value >::type * = nullptr>
bool aas_core::aas_3_0::verification::IdShortsAreUnique (const std::vector< std::shared_ptr< ReferableT > > &referables)
 Check that the types::IReferable::id_short's among the referables are unique.
 
bool aas_core::aas_3_0::verification::IdShortsOfVariablesAreUnique (const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > &input_variables, const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > &output_variables, const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > &inoutput_variables)
 Check that the types::IReferable::id_short's among all the input_variables, output_variables and inoutput_variables are unique.
 
bool aas_core::aas_3_0::verification::ExtensionNamesAreUnique (const std::vector< std::shared_ptr< types::IExtension > > &extensions)
 Check that the extension names are unique.
 
bool aas_core::aas_3_0::verification::SubmodelElementsHaveIdenticalSemanticIds (const std::vector< std::shared_ptr< types::ISubmodelElement > > &elements)
 Check that all semantic IDs are identical, if specified.
 
bool aas_core::aas_3_0::verification::SubmodelElementIsOfType (const std::shared_ptr< types::ISubmodelElement > &element, types::AasSubmodelElements element_type)
 Check that the run-time type of the element coincides with element_type.
 
bool aas_core::aas_3_0::verification::PropertiesOrRangesHaveValueType (const std::vector< std::shared_ptr< types::ISubmodelElement > > &elements, types::DataTypeDefXsd value_type)
 Check that all the elements have the value_type.
 
bool aas_core::aas_3_0::verification::ReferenceKeyValuesEqual (const std::shared_ptr< types::IReference > &that, const std::shared_ptr< types::IReference > &other)
 Check that the two references are equal by comparing their key values.
 
bool aas_core::aas_3_0::verification::DataSpecificationIec61360sForPropertyOrValueHaveAppropriateDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.
 
bool aas_core::aas_3_0::verification::DataSpecificationIec61360sForReferenceHaveAppropriateDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.
 
bool aas_core::aas_3_0::verification::DataSpecificationIec61360sForDocumentHaveAppropriateDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.
 
bool aas_core::aas_3_0::verification::DataSpecificationIec61360sHaveDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined for all data specifications whose content is given as IEC 61360.
 
bool aas_core::aas_3_0::verification::DataSpecificationIec61360sHaveValue (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::value is defined for all data specifications whose content is given as IEC 61360.
 
bool aas_core::aas_3_0::verification::DataSpecificationIec61360sHaveDefinitionAtLeastInEnglish (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::definition is defined for all data specifications whose content is given as IEC 61360 at least in English.
 
bool aas_core::aas_3_0::verification::IsBcp47ForEnglish (const std::wstring &text)
 Check that the text corresponds to a BCP47 code for english.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyXmlSerializableString (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyNonEmptyXmlSerializableString (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyDateTimeUtc (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyDuration (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyBlobType (const std::vector< std::uint8_t > &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyIdentifier (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyValueTypeIec61360 (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyNameType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyVersionType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyRevisionType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyLabelType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyMessageTopicType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyBcp47LanguageTag (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyContentType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyPathType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyQualifierType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyValueDataType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationaas_core::aas_3_0::verification::VerifyIdShortType (const std::wstring &that)
 Verify that the invariants hold for that value.