1#ifndef AAS_CORE_AAS_3_1_XMLIZATION_GUARD_
2#define AAS_CORE_AAS_3_1_XMLIZATION_GUARD_
11#pragma warning(push, 0)
44 virtual std::unique_ptr<ISegment>
Clone()
const = 0;
71 std::unique_ptr<ISegment>
Clone()
const override;
91 std::unique_ptr<ISegment>
Clone()
const override;
158 std::shared_ptr<types::IClass>,
175 std::shared_ptr<types::IHasSemantics>,
192 std::shared_ptr<types::IExtension>,
209 std::shared_ptr<types::IHasExtensions>,
226 std::shared_ptr<types::IReferable>,
243 std::shared_ptr<types::IIdentifiable>,
260 std::shared_ptr<types::IHasKind>,
277 std::shared_ptr<types::IHasDataSpecification>,
294 std::shared_ptr<types::IAdministrativeInformation>,
311 std::shared_ptr<types::IQualifiable>,
328 std::shared_ptr<types::IQualifier>,
345 std::shared_ptr<types::IAssetAdministrationShell>,
362 std::shared_ptr<types::IAssetInformation>,
379 std::shared_ptr<types::IResource>,
396 std::shared_ptr<types::ISpecificAssetId>,
413 std::shared_ptr<types::ISubmodel>,
430 std::shared_ptr<types::ISubmodelElement>,
447 std::shared_ptr<types::IRelationshipElement>,
464 std::shared_ptr<types::ISubmodelElementList>,
481 std::shared_ptr<types::ISubmodelElementCollection>,
498 std::shared_ptr<types::IDataElement>,
515 std::shared_ptr<types::IProperty>,
532 std::shared_ptr<types::IMultiLanguageProperty>,
549 std::shared_ptr<types::IRange>,
566 std::shared_ptr<types::IReferenceElement>,
583 std::shared_ptr<types::IBlob>,
600 std::shared_ptr<types::IFile>,
617 std::shared_ptr<types::IAnnotatedRelationshipElement>,
634 std::shared_ptr<types::IEntity>,
651 std::shared_ptr<types::IEventPayload>,
668 std::shared_ptr<types::IEventElement>,
685 std::shared_ptr<types::IBasicEventElement>,
702 std::shared_ptr<types::IOperation>,
719 std::shared_ptr<types::IOperationVariable>,
736 std::shared_ptr<types::ICapability>,
753 std::shared_ptr<types::IConceptDescription>,
770 std::shared_ptr<types::IReference>,
787 std::shared_ptr<types::IKey>,
804 std::shared_ptr<types::IAbstractLangString>,
821 std::shared_ptr<types::ILangStringNameType>,
838 std::shared_ptr<types::ILangStringTextType>,
855 std::shared_ptr<types::IEnvironment>,
872 std::shared_ptr<types::IDataSpecificationContent>,
889 std::shared_ptr<types::IEmbeddedDataSpecification>,
906 std::shared_ptr<types::ILevelType>,
923 std::shared_ptr<types::IValueReferencePair>,
940 std::shared_ptr<types::IValueList>,
957 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>,
974 std::shared_ptr<types::ILangStringShortNameTypeIec61360>,
991 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>,
1008 std::shared_ptr<types::IDataSpecificationIec61360>,
1009 DeserializationError
1033 const char*
what() const noexcept override;
1035 const std::wstring&
cause() const noexcept;
1041 const std::wstring cause_;
1042 const iteration::
Path path_;
1043 const std::
string msg_;
1066 bool write_declaration =
true;
1072 bool write_namespace =
true;
1077 std::string prefix =
"";
Definition xmlization.hpp:34
virtual std::wstring ToWstring() const =0
Convert the segment to a string in an XPath.
virtual std::unique_ptr< ISegment > Clone() const =0
virtual ~ISegment()=default
Definition xmlization.hpp:1022
SerializationException(std::wstring cause, iteration::Path path)
const std::wstring & cause() const noexcept
const char * what() const noexcept override
const iteration::Path & path() const noexcept
SerializationException(std::wstring cause)
common::expected< std::shared_ptr< types::IValueList >, DeserializationError > ValueListFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ISubmodelElementCollection >, DeserializationError > SubmodelElementCollectionFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IEntity >, DeserializationError > EntityFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IAdministrativeInformation >, DeserializationError > AdministrativeInformationFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IValueReferencePair >, DeserializationError > ValueReferencePairFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IDataSpecificationContent >, DeserializationError > DataSpecificationContentFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IRange >, DeserializationError > RangeFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ILangStringPreferredNameTypeIec61360 >, DeserializationError > LangStringPreferredNameTypeIec61360From(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IOperationVariable >, DeserializationError > OperationVariableFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IHasDataSpecification >, DeserializationError > HasDataSpecificationFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ISubmodelElementList >, DeserializationError > SubmodelElementListFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IProperty >, DeserializationError > PropertyFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ILangStringTextType >, DeserializationError > LangStringTextTypeFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IEventElement >, DeserializationError > EventElementFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IReferenceElement >, DeserializationError > ReferenceElementFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ILangStringShortNameTypeIec61360 >, DeserializationError > LangStringShortNameTypeIec61360From(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IClass >, DeserializationError > From(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IDataSpecificationIec61360 >, DeserializationError > DataSpecificationIec61360From(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ILangStringDefinitionTypeIec61360 >, DeserializationError > LangStringDefinitionTypeIec61360From(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IResource >, DeserializationError > ResourceFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IBasicEventElement >, DeserializationError > BasicEventElementFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IConceptDescription >, DeserializationError > ConceptDescriptionFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ICapability >, DeserializationError > CapabilityFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IEventPayload >, DeserializationError > EventPayloadFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IOperation >, DeserializationError > OperationFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ILevelType >, DeserializationError > LevelTypeFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IRelationshipElement >, DeserializationError > RelationshipElementFrom(std::istream &is, const ReadingOptions &options={})
void Serialize(const types::IClass &that, const WritingOptions &options, std::ostream &os)
Serialize that instance to XML.
common::expected< std::shared_ptr< types::IBlob >, DeserializationError > BlobFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IIdentifiable >, DeserializationError > IdentifiableFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IReferable >, DeserializationError > ReferableFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ILangStringNameType >, DeserializationError > LangStringNameTypeFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IMultiLanguageProperty >, DeserializationError > MultiLanguagePropertyFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IAnnotatedRelationshipElement >, DeserializationError > AnnotatedRelationshipElementFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IFile >, DeserializationError > FileFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IDataElement >, DeserializationError > DataElementFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IQualifiable >, DeserializationError > QualifiableFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IAbstractLangString >, DeserializationError > AbstractLangStringFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ISpecificAssetId >, DeserializationError > SpecificAssetIdFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ISubmodelElement >, DeserializationError > SubmodelElementFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IReference >, DeserializationError > ReferenceFrom(std::istream &is, const ReadingOptions &options={})
const std::string kNamespace
common::expected< std::shared_ptr< types::IQualifier >, DeserializationError > QualifierFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IExtension >, DeserializationError > ExtensionFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IEnvironment >, DeserializationError > EnvironmentFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::ISubmodel >, DeserializationError > SubmodelFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IHasSemantics >, DeserializationError > HasSemanticsFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IEmbeddedDataSpecification >, DeserializationError > EmbeddedDataSpecificationFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IHasExtensions >, DeserializationError > HasExtensionsFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IKey >, DeserializationError > KeyFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IAssetInformation >, DeserializationError > AssetInformationFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IHasKind >, DeserializationError > HasKindFrom(std::istream &is, const ReadingOptions &options={})
common::expected< std::shared_ptr< types::IAssetAdministrationShell >, DeserializationError > AssetAdministrationShellFrom(std::istream &is, const ReadingOptions &options={})
Represent a path to some value.
Definition iteration.hpp:181
Definition xmlization.hpp:116
Path path
Definition xmlization.hpp:125
std::wstring cause
Definition xmlization.hpp:120
DeserializationError(std::wstring a_cause)
DeserializationError(std::wstring a_cause, Path a_path)
Definition xmlization.hpp:52
ElementSegment(std::wstring a_name)
~ElementSegment() override=default
std::wstring ToWstring() const override
Convert the segment to a string in an XPath.
std::unique_ptr< ISegment > Clone() const override
std::wstring name
Name of the XML element, without the namespace.
Definition xmlization.hpp:63
Definition xmlization.hpp:79
std::wstring ToWstring() const override
Convert the segment to a string in an XPath.
std::unique_ptr< ISegment > Clone() const override
size_t index
Definition xmlization.hpp:83
IndexSegment(size_t an_index)
~IndexSegment() override=default
Definition xmlization.hpp:99
Path & operator=(Path &&other)
std::wstring ToWstring() const
std::deque< std::unique_ptr< ISegment > > segments
Definition xmlization.hpp:100
Path & operator=(const Path &other)
Definition xmlization.hpp:131
size_t buffer_size
Definition xmlization.hpp:146
bool additional_attributes
Definition xmlization.hpp:140
Customize how instances should be serialized to XML.
Definition xmlization.hpp:1062