31 const std::shared_ptr<
36 const std::shared_ptr<types::IClass>&
45 const std::shared_ptr<
50 const std::shared_ptr<types::IClass>&
59 const std::shared_ptr<
64 const std::shared_ptr<types::IClass>&
73 const std::shared_ptr<
78 const std::shared_ptr<types::IClass>&
87 const std::shared_ptr<
92 const std::shared_ptr<types::IClass>&
101 const std::shared_ptr<
106 const std::shared_ptr<types::IClass>&
115 const std::shared_ptr<
120 const std::shared_ptr<types::IClass>&
129 const std::shared_ptr<
134 const std::shared_ptr<types::IClass>&
143 const std::shared_ptr<
148 const std::shared_ptr<types::IClass>&
157 const std::shared_ptr<
162 const std::shared_ptr<types::IClass>&
171 const std::shared_ptr<
176 const std::shared_ptr<types::IClass>&
185 const std::shared_ptr<
190 const std::shared_ptr<types::IClass>&
199 const std::shared_ptr<
204 const std::shared_ptr<types::IClass>&
213 const std::shared_ptr<
218 const std::shared_ptr<types::IClass>&
227 const std::shared_ptr<
232 const std::shared_ptr<types::IClass>&
241 const std::shared_ptr<
246 const std::shared_ptr<types::IClass>&
255 const std::shared_ptr<
260 const std::shared_ptr<types::IClass>&
269 const std::shared_ptr<
274 const std::shared_ptr<types::IClass>&
283 const std::shared_ptr<
288 const std::shared_ptr<types::IClass>&
297 const std::shared_ptr<
302 const std::shared_ptr<types::IClass>&
311 const std::shared_ptr<
316 const std::shared_ptr<types::IClass>&
325 const std::shared_ptr<
330 const std::shared_ptr<types::IClass>&
339 const std::shared_ptr<
344 const std::shared_ptr<types::IClass>&
353 const std::shared_ptr<
358 const std::shared_ptr<types::IClass>&
367 const std::shared_ptr<
372 const std::shared_ptr<types::IClass>&
381 const std::shared_ptr<
386 const std::shared_ptr<types::IClass>&
395 const std::shared_ptr<
400 const std::shared_ptr<types::IClass>&
409 const std::shared_ptr<
414 const std::shared_ptr<types::IClass>&
423 const std::shared_ptr<
428 const std::shared_ptr<types::IClass>&
437 const std::shared_ptr<
442 const std::shared_ptr<types::IClass>&
451 const std::shared_ptr<
456 const std::shared_ptr<types::IClass>&
465 const std::shared_ptr<
470 const std::shared_ptr<types::IClass>&
479 const std::shared_ptr<
484 const std::shared_ptr<types::IClass>&
493 const std::shared_ptr<
498 const std::shared_ptr<types::IClass>&
507 const std::shared_ptr<
512 const std::shared_ptr<types::IClass>&
521 const std::shared_ptr<
526 const std::shared_ptr<types::IClass>&
535 const std::shared_ptr<
540 const std::shared_ptr<types::IClass>&
549 const std::shared_ptr<
554 const std::shared_ptr<types::IClass>&
563 const std::shared_ptr<
568 const std::shared_ptr<types::IClass>&
577 const std::shared_ptr<
582 const std::shared_ptr<types::IClass>&
591 const std::shared_ptr<
596 const std::shared_ptr<types::IClass>&
605 const std::shared_ptr<
610 const std::shared_ptr<types::IClass>&
619 const std::shared_ptr<
624 const std::shared_ptr<types::IClass>&
633 const std::shared_ptr<
638 const std::shared_ptr<types::IClass>&
647 const std::shared_ptr<
652 const std::shared_ptr<types::IClass>&
661 const std::shared_ptr<
666 const std::shared_ptr<types::IClass>&
675 const std::shared_ptr<
680 const std::shared_ptr<types::IClass>&
689 const std::shared_ptr<
694 const std::shared_ptr<types::IClass>&
703 const std::shared_ptr<
708 const std::shared_ptr<types::IClass>&
715 types::IDataSpecificationIec61360
717 const std::shared_ptr<
718 types::IDataSpecificationIec61360
722 const std::shared_ptr<types::IClass>&
735 virtual const std::shared_ptr<E>& enhancement()
const = 0;
737 virtual std::shared_ptr<E>& mutable_enhancement() = 0;
739 virtual void set_enhancement(
740 std::shared_ptr<E> value
743 virtual ~IEnhanced() =
default;
747class EnhancedExtension
749 virtual public IEnhanced<E> {
755 const common::optional<
756 std::shared_ptr<types::IReference>
757 >& semantic_id()
const override {
758 return instance_->semantic_id();
762 std::shared_ptr<types::IReference>
763 >& mutable_semantic_id()
override {
764 return instance_->mutable_semantic_id();
767 void set_semantic_id(
769 std::shared_ptr<types::IReference>
772 instance_->set_semantic_id(value);
775 const common::optional<
777 std::shared_ptr<types::IReference>
779 >& supplemental_semantic_ids()
const override {
780 return instance_->supplemental_semantic_ids();
785 std::shared_ptr<types::IReference>
787 >& mutable_supplemental_semantic_ids()
override {
788 return instance_->mutable_supplemental_semantic_ids();
791 void set_supplemental_semantic_ids(
794 std::shared_ptr<types::IReference>
798 instance_->set_supplemental_semantic_ids(value);
801 const std::wstring& name()
const override {
802 return instance_->name();
805 std::wstring& mutable_name()
override {
806 return instance_->mutable_name();
812 instance_->set_name(value);
815 const common::optional<types::DataTypeDefXsd>& value_type()
const override {
816 return instance_->value_type();
819 common::optional<types::DataTypeDefXsd>& mutable_value_type()
override {
820 return instance_->mutable_value_type();
824 common::optional<types::DataTypeDefXsd> value
826 instance_->set_value_type(value);
829 const common::optional<std::wstring>& value()
const override {
830 return instance_->value();
833 common::optional<std::wstring>& mutable_value()
override {
834 return instance_->mutable_value();
838 common::optional<std::wstring> value
840 instance_->set_value(value);
843 const common::optional<
845 std::shared_ptr<types::IReference>
847 >& refers_to()
const override {
848 return instance_->refers_to();
853 std::shared_ptr<types::IReference>
855 >& mutable_refers_to()
override {
856 return instance_->mutable_refers_to();
862 std::shared_ptr<types::IReference>
866 instance_->set_refers_to(value);
870 return instance_->ValueTypeOrDefault();
873 const std::shared_ptr<E>& enhancement()
const {
877 std::shared_ptr<E>& mutable_enhancement() {
881 void set_enhancement(
882 std::shared_ptr<E> value
884 enhancement_ = std::move(value);
888 std::shared_ptr<types::IExtension> instance,
889 std::shared_ptr<E> enhancement
892 enhancement_(enhancement) {
896 virtual ~EnhancedExtension() =
default;
899 std::shared_ptr<types::IExtension> instance_;
900 std::shared_ptr<E> enhancement_;
904class EnhancedAdministrativeInformation
906 virtual public IEnhanced<E> {
912 const common::optional<
914 std::shared_ptr<types::IEmbeddedDataSpecification>
916 >& embedded_data_specifications()
const override {
917 return instance_->embedded_data_specifications();
922 std::shared_ptr<types::IEmbeddedDataSpecification>
924 >& mutable_embedded_data_specifications()
override {
925 return instance_->mutable_embedded_data_specifications();
928 void set_embedded_data_specifications(
931 std::shared_ptr<types::IEmbeddedDataSpecification>
935 instance_->set_embedded_data_specifications(value);
938 const common::optional<std::wstring>& version()
const override {
939 return instance_->version();
942 common::optional<std::wstring>& mutable_version()
override {
943 return instance_->mutable_version();
947 common::optional<std::wstring> value
949 instance_->set_version(value);
952 const common::optional<std::wstring>& revision()
const override {
953 return instance_->revision();
956 common::optional<std::wstring>& mutable_revision()
override {
957 return instance_->mutable_revision();
961 common::optional<std::wstring> value
963 instance_->set_revision(value);
966 const common::optional<
967 std::shared_ptr<types::IReference>
968 >& creator()
const override {
969 return instance_->creator();
973 std::shared_ptr<types::IReference>
974 >& mutable_creator()
override {
975 return instance_->mutable_creator();
980 std::shared_ptr<types::IReference>
983 instance_->set_creator(value);
986 const common::optional<std::wstring>& template_id()
const override {
987 return instance_->template_id();
990 common::optional<std::wstring>& mutable_template_id()
override {
991 return instance_->mutable_template_id();
994 void set_template_id(
995 common::optional<std::wstring> value
997 instance_->set_template_id(value);
1000 const std::shared_ptr<E>& enhancement()
const {
1001 return enhancement_;
1004 std::shared_ptr<E>& mutable_enhancement() {
1005 return enhancement_;
1008 void set_enhancement(
1009 std::shared_ptr<E> value
1011 enhancement_ = std::move(value);
1014 EnhancedAdministrativeInformation(
1015 std::shared_ptr<types::IAdministrativeInformation> instance,
1016 std::shared_ptr<E> enhancement
1018 instance_(instance),
1019 enhancement_(enhancement) {
1023 virtual ~EnhancedAdministrativeInformation() =
default;
1026 std::shared_ptr<types::IAdministrativeInformation> instance_;
1027 std::shared_ptr<E> enhancement_;
1031class EnhancedQualifier
1033 virtual public IEnhanced<E> {
1039 const common::optional<
1040 std::shared_ptr<types::IReference>
1041 >& semantic_id()
const override {
1042 return instance_->semantic_id();
1046 std::shared_ptr<types::IReference>
1047 >& mutable_semantic_id()
override {
1048 return instance_->mutable_semantic_id();
1051 void set_semantic_id(
1053 std::shared_ptr<types::IReference>
1056 instance_->set_semantic_id(value);
1059 const common::optional<
1061 std::shared_ptr<types::IReference>
1063 >& supplemental_semantic_ids()
const override {
1064 return instance_->supplemental_semantic_ids();
1069 std::shared_ptr<types::IReference>
1071 >& mutable_supplemental_semantic_ids()
override {
1072 return instance_->mutable_supplemental_semantic_ids();
1075 void set_supplemental_semantic_ids(
1078 std::shared_ptr<types::IReference>
1082 instance_->set_supplemental_semantic_ids(value);
1085 const common::optional<types::QualifierKind>& kind()
const override {
1086 return instance_->kind();
1089 common::optional<types::QualifierKind>& mutable_kind()
override {
1090 return instance_->mutable_kind();
1094 common::optional<types::QualifierKind> value
1096 instance_->set_kind(value);
1099 const std::wstring& type()
const override {
1100 return instance_->type();
1103 std::wstring& mutable_type()
override {
1104 return instance_->mutable_type();
1110 instance_->set_type(value);
1114 return instance_->value_type();
1118 return instance_->mutable_value_type();
1121 void set_value_type(
1124 instance_->set_value_type(value);
1127 const common::optional<std::wstring>& value()
const override {
1128 return instance_->value();
1131 common::optional<std::wstring>& mutable_value()
override {
1132 return instance_->mutable_value();
1136 common::optional<std::wstring> value
1138 instance_->set_value(value);
1141 const common::optional<
1142 std::shared_ptr<types::IReference>
1143 >& value_id()
const override {
1144 return instance_->value_id();
1148 std::shared_ptr<types::IReference>
1149 >& mutable_value_id()
override {
1150 return instance_->mutable_value_id();
1155 std::shared_ptr<types::IReference>
1158 instance_->set_value_id(value);
1162 return instance_->KindOrDefault();
1165 const std::shared_ptr<E>& enhancement()
const {
1166 return enhancement_;
1169 std::shared_ptr<E>& mutable_enhancement() {
1170 return enhancement_;
1173 void set_enhancement(
1174 std::shared_ptr<E> value
1176 enhancement_ = std::move(value);
1180 std::shared_ptr<types::IQualifier> instance,
1181 std::shared_ptr<E> enhancement
1183 instance_(instance),
1184 enhancement_(enhancement) {
1188 virtual ~EnhancedQualifier() =
default;
1191 std::shared_ptr<types::IQualifier> instance_;
1192 std::shared_ptr<E> enhancement_;
1196class EnhancedAssetAdministrationShell
1198 virtual public IEnhanced<E> {
1204 const common::optional<
1206 std::shared_ptr<types::IExtension>
1208 >& extensions()
const override {
1209 return instance_->extensions();
1214 std::shared_ptr<types::IExtension>
1216 >& mutable_extensions()
override {
1217 return instance_->mutable_extensions();
1220 void set_extensions(
1223 std::shared_ptr<types::IExtension>
1227 instance_->set_extensions(value);
1230 const common::optional<std::wstring>& category()
const override {
1231 return instance_->category();
1234 common::optional<std::wstring>& mutable_category()
override {
1235 return instance_->mutable_category();
1239 common::optional<std::wstring> value
1241 instance_->set_category(value);
1244 const common::optional<std::wstring>& id_short()
const override {
1245 return instance_->id_short();
1248 common::optional<std::wstring>& mutable_id_short()
override {
1249 return instance_->mutable_id_short();
1253 common::optional<std::wstring> value
1255 instance_->set_id_short(value);
1258 const common::optional<
1260 std::shared_ptr<types::ILangStringNameType>
1262 >& display_name()
const override {
1263 return instance_->display_name();
1268 std::shared_ptr<types::ILangStringNameType>
1270 >& mutable_display_name()
override {
1271 return instance_->mutable_display_name();
1274 void set_display_name(
1277 std::shared_ptr<types::ILangStringNameType>
1281 instance_->set_display_name(value);
1284 const common::optional<
1286 std::shared_ptr<types::ILangStringTextType>
1288 >& description()
const override {
1289 return instance_->description();
1294 std::shared_ptr<types::ILangStringTextType>
1296 >& mutable_description()
override {
1297 return instance_->mutable_description();
1300 void set_description(
1303 std::shared_ptr<types::ILangStringTextType>
1307 instance_->set_description(value);
1310 const common::optional<
1311 std::shared_ptr<types::IAdministrativeInformation>
1312 >& administration()
const override {
1313 return instance_->administration();
1317 std::shared_ptr<types::IAdministrativeInformation>
1318 >& mutable_administration()
override {
1319 return instance_->mutable_administration();
1322 void set_administration(
1324 std::shared_ptr<types::IAdministrativeInformation>
1327 instance_->set_administration(value);
1330 const std::wstring& id()
const override {
1331 return instance_->id();
1334 std::wstring& mutable_id()
override {
1335 return instance_->mutable_id();
1341 instance_->set_id(value);
1344 const common::optional<
1346 std::shared_ptr<types::IEmbeddedDataSpecification>
1348 >& embedded_data_specifications()
const override {
1349 return instance_->embedded_data_specifications();
1354 std::shared_ptr<types::IEmbeddedDataSpecification>
1356 >& mutable_embedded_data_specifications()
override {
1357 return instance_->mutable_embedded_data_specifications();
1360 void set_embedded_data_specifications(
1363 std::shared_ptr<types::IEmbeddedDataSpecification>
1367 instance_->set_embedded_data_specifications(value);
1370 const common::optional<
1371 std::shared_ptr<types::IReference>
1372 >& derived_from()
const override {
1373 return instance_->derived_from();
1377 std::shared_ptr<types::IReference>
1378 >& mutable_derived_from()
override {
1379 return instance_->mutable_derived_from();
1382 void set_derived_from(
1384 std::shared_ptr<types::IReference>
1387 instance_->set_derived_from(value);
1390 const std::shared_ptr<types::IAssetInformation>& asset_information()
const override {
1391 return instance_->asset_information();
1394 std::shared_ptr<types::IAssetInformation>& mutable_asset_information()
override {
1395 return instance_->mutable_asset_information();
1398 void set_asset_information(
1399 std::shared_ptr<types::IAssetInformation> value
1401 instance_->set_asset_information(value);
1404 const common::optional<
1406 std::shared_ptr<types::IReference>
1408 >& submodels()
const override {
1409 return instance_->submodels();
1414 std::shared_ptr<types::IReference>
1416 >& mutable_submodels()
override {
1417 return instance_->mutable_submodels();
1423 std::shared_ptr<types::IReference>
1427 instance_->set_submodels(value);
1430 const std::shared_ptr<E>& enhancement()
const {
1431 return enhancement_;
1434 std::shared_ptr<E>& mutable_enhancement() {
1435 return enhancement_;
1438 void set_enhancement(
1439 std::shared_ptr<E> value
1441 enhancement_ = std::move(value);
1444 EnhancedAssetAdministrationShell(
1445 std::shared_ptr<types::IAssetAdministrationShell> instance,
1446 std::shared_ptr<E> enhancement
1448 instance_(instance),
1449 enhancement_(enhancement) {
1453 virtual ~EnhancedAssetAdministrationShell() =
default;
1456 std::shared_ptr<types::IAssetAdministrationShell> instance_;
1457 std::shared_ptr<E> enhancement_;
1461class EnhancedAssetInformation
1463 virtual public IEnhanced<E> {
1470 return instance_->asset_kind();
1474 return instance_->mutable_asset_kind();
1477 void set_asset_kind(
1480 instance_->set_asset_kind(value);
1483 const common::optional<std::wstring>& global_asset_id()
const override {
1484 return instance_->global_asset_id();
1487 common::optional<std::wstring>& mutable_global_asset_id()
override {
1488 return instance_->mutable_global_asset_id();
1491 void set_global_asset_id(
1492 common::optional<std::wstring> value
1494 instance_->set_global_asset_id(value);
1497 const common::optional<
1499 std::shared_ptr<types::ISpecificAssetId>
1501 >& specific_asset_ids()
const override {
1502 return instance_->specific_asset_ids();
1507 std::shared_ptr<types::ISpecificAssetId>
1509 >& mutable_specific_asset_ids()
override {
1510 return instance_->mutable_specific_asset_ids();
1513 void set_specific_asset_ids(
1516 std::shared_ptr<types::ISpecificAssetId>
1520 instance_->set_specific_asset_ids(value);
1523 const common::optional<std::wstring>& asset_type()
const override {
1524 return instance_->asset_type();
1527 common::optional<std::wstring>& mutable_asset_type()
override {
1528 return instance_->mutable_asset_type();
1531 void set_asset_type(
1532 common::optional<std::wstring> value
1534 instance_->set_asset_type(value);
1537 const common::optional<
1538 std::shared_ptr<types::IResource>
1539 >& default_thumbnail()
const override {
1540 return instance_->default_thumbnail();
1544 std::shared_ptr<types::IResource>
1545 >& mutable_default_thumbnail()
override {
1546 return instance_->mutable_default_thumbnail();
1549 void set_default_thumbnail(
1551 std::shared_ptr<types::IResource>
1554 instance_->set_default_thumbnail(value);
1557 const std::shared_ptr<E>& enhancement()
const {
1558 return enhancement_;
1561 std::shared_ptr<E>& mutable_enhancement() {
1562 return enhancement_;
1565 void set_enhancement(
1566 std::shared_ptr<E> value
1568 enhancement_ = std::move(value);
1571 EnhancedAssetInformation(
1572 std::shared_ptr<types::IAssetInformation> instance,
1573 std::shared_ptr<E> enhancement
1575 instance_(instance),
1576 enhancement_(enhancement) {
1580 virtual ~EnhancedAssetInformation() =
default;
1583 std::shared_ptr<types::IAssetInformation> instance_;
1584 std::shared_ptr<E> enhancement_;
1588class EnhancedResource
1590 virtual public IEnhanced<E> {
1596 const std::wstring& path()
const override {
1597 return instance_->path();
1600 std::wstring& mutable_path()
override {
1601 return instance_->mutable_path();
1607 instance_->set_path(value);
1610 const common::optional<std::wstring>& content_type()
const override {
1611 return instance_->content_type();
1614 common::optional<std::wstring>& mutable_content_type()
override {
1615 return instance_->mutable_content_type();
1618 void set_content_type(
1619 common::optional<std::wstring> value
1621 instance_->set_content_type(value);
1624 const std::shared_ptr<E>& enhancement()
const {
1625 return enhancement_;
1628 std::shared_ptr<E>& mutable_enhancement() {
1629 return enhancement_;
1632 void set_enhancement(
1633 std::shared_ptr<E> value
1635 enhancement_ = std::move(value);
1639 std::shared_ptr<types::IResource> instance,
1640 std::shared_ptr<E> enhancement
1642 instance_(instance),
1643 enhancement_(enhancement) {
1647 virtual ~EnhancedResource() =
default;
1650 std::shared_ptr<types::IResource> instance_;
1651 std::shared_ptr<E> enhancement_;
1655class EnhancedSpecificAssetId
1657 virtual public IEnhanced<E> {
1663 const common::optional<
1664 std::shared_ptr<types::IReference>
1665 >& semantic_id()
const override {
1666 return instance_->semantic_id();
1670 std::shared_ptr<types::IReference>
1671 >& mutable_semantic_id()
override {
1672 return instance_->mutable_semantic_id();
1675 void set_semantic_id(
1677 std::shared_ptr<types::IReference>
1680 instance_->set_semantic_id(value);
1683 const common::optional<
1685 std::shared_ptr<types::IReference>
1687 >& supplemental_semantic_ids()
const override {
1688 return instance_->supplemental_semantic_ids();
1693 std::shared_ptr<types::IReference>
1695 >& mutable_supplemental_semantic_ids()
override {
1696 return instance_->mutable_supplemental_semantic_ids();
1699 void set_supplemental_semantic_ids(
1702 std::shared_ptr<types::IReference>
1706 instance_->set_supplemental_semantic_ids(value);
1709 const std::wstring& name()
const override {
1710 return instance_->name();
1713 std::wstring& mutable_name()
override {
1714 return instance_->mutable_name();
1720 instance_->set_name(value);
1723 const std::wstring& value()
const override {
1724 return instance_->value();
1727 std::wstring& mutable_value()
override {
1728 return instance_->mutable_value();
1734 instance_->set_value(value);
1737 const common::optional<
1738 std::shared_ptr<types::IReference>
1739 >& external_subject_id()
const override {
1740 return instance_->external_subject_id();
1744 std::shared_ptr<types::IReference>
1745 >& mutable_external_subject_id()
override {
1746 return instance_->mutable_external_subject_id();
1749 void set_external_subject_id(
1751 std::shared_ptr<types::IReference>
1754 instance_->set_external_subject_id(value);
1757 const std::shared_ptr<E>& enhancement()
const {
1758 return enhancement_;
1761 std::shared_ptr<E>& mutable_enhancement() {
1762 return enhancement_;
1765 void set_enhancement(
1766 std::shared_ptr<E> value
1768 enhancement_ = std::move(value);
1771 EnhancedSpecificAssetId(
1772 std::shared_ptr<types::ISpecificAssetId> instance,
1773 std::shared_ptr<E> enhancement
1775 instance_(instance),
1776 enhancement_(enhancement) {
1780 virtual ~EnhancedSpecificAssetId() =
default;
1783 std::shared_ptr<types::ISpecificAssetId> instance_;
1784 std::shared_ptr<E> enhancement_;
1788class EnhancedSubmodel
1790 virtual public IEnhanced<E> {
1796 const common::optional<
1798 std::shared_ptr<types::IExtension>
1800 >& extensions()
const override {
1801 return instance_->extensions();
1806 std::shared_ptr<types::IExtension>
1808 >& mutable_extensions()
override {
1809 return instance_->mutable_extensions();
1812 void set_extensions(
1815 std::shared_ptr<types::IExtension>
1819 instance_->set_extensions(value);
1822 const common::optional<std::wstring>& category()
const override {
1823 return instance_->category();
1826 common::optional<std::wstring>& mutable_category()
override {
1827 return instance_->mutable_category();
1831 common::optional<std::wstring> value
1833 instance_->set_category(value);
1836 const common::optional<std::wstring>& id_short()
const override {
1837 return instance_->id_short();
1840 common::optional<std::wstring>& mutable_id_short()
override {
1841 return instance_->mutable_id_short();
1845 common::optional<std::wstring> value
1847 instance_->set_id_short(value);
1850 const common::optional<
1852 std::shared_ptr<types::ILangStringNameType>
1854 >& display_name()
const override {
1855 return instance_->display_name();
1860 std::shared_ptr<types::ILangStringNameType>
1862 >& mutable_display_name()
override {
1863 return instance_->mutable_display_name();
1866 void set_display_name(
1869 std::shared_ptr<types::ILangStringNameType>
1873 instance_->set_display_name(value);
1876 const common::optional<
1878 std::shared_ptr<types::ILangStringTextType>
1880 >& description()
const override {
1881 return instance_->description();
1886 std::shared_ptr<types::ILangStringTextType>
1888 >& mutable_description()
override {
1889 return instance_->mutable_description();
1892 void set_description(
1895 std::shared_ptr<types::ILangStringTextType>
1899 instance_->set_description(value);
1902 const common::optional<
1903 std::shared_ptr<types::IAdministrativeInformation>
1904 >& administration()
const override {
1905 return instance_->administration();
1909 std::shared_ptr<types::IAdministrativeInformation>
1910 >& mutable_administration()
override {
1911 return instance_->mutable_administration();
1914 void set_administration(
1916 std::shared_ptr<types::IAdministrativeInformation>
1919 instance_->set_administration(value);
1922 const std::wstring& id()
const override {
1923 return instance_->id();
1926 std::wstring& mutable_id()
override {
1927 return instance_->mutable_id();
1933 instance_->set_id(value);
1936 const common::optional<types::ModellingKind>& kind()
const override {
1937 return instance_->kind();
1940 common::optional<types::ModellingKind>& mutable_kind()
override {
1941 return instance_->mutable_kind();
1945 common::optional<types::ModellingKind> value
1947 instance_->set_kind(value);
1950 const common::optional<
1951 std::shared_ptr<types::IReference>
1952 >& semantic_id()
const override {
1953 return instance_->semantic_id();
1957 std::shared_ptr<types::IReference>
1958 >& mutable_semantic_id()
override {
1959 return instance_->mutable_semantic_id();
1962 void set_semantic_id(
1964 std::shared_ptr<types::IReference>
1967 instance_->set_semantic_id(value);
1970 const common::optional<
1972 std::shared_ptr<types::IReference>
1974 >& supplemental_semantic_ids()
const override {
1975 return instance_->supplemental_semantic_ids();
1980 std::shared_ptr<types::IReference>
1982 >& mutable_supplemental_semantic_ids()
override {
1983 return instance_->mutable_supplemental_semantic_ids();
1986 void set_supplemental_semantic_ids(
1989 std::shared_ptr<types::IReference>
1993 instance_->set_supplemental_semantic_ids(value);
1996 const common::optional<
1998 std::shared_ptr<types::IQualifier>
2000 >& qualifiers()
const override {
2001 return instance_->qualifiers();
2006 std::shared_ptr<types::IQualifier>
2008 >& mutable_qualifiers()
override {
2009 return instance_->mutable_qualifiers();
2012 void set_qualifiers(
2015 std::shared_ptr<types::IQualifier>
2019 instance_->set_qualifiers(value);
2022 const common::optional<
2024 std::shared_ptr<types::IEmbeddedDataSpecification>
2026 >& embedded_data_specifications()
const override {
2027 return instance_->embedded_data_specifications();
2032 std::shared_ptr<types::IEmbeddedDataSpecification>
2034 >& mutable_embedded_data_specifications()
override {
2035 return instance_->mutable_embedded_data_specifications();
2038 void set_embedded_data_specifications(
2041 std::shared_ptr<types::IEmbeddedDataSpecification>
2045 instance_->set_embedded_data_specifications(value);
2048 const common::optional<
2050 std::shared_ptr<types::ISubmodelElement>
2052 >& submodel_elements()
const override {
2053 return instance_->submodel_elements();
2058 std::shared_ptr<types::ISubmodelElement>
2060 >& mutable_submodel_elements()
override {
2061 return instance_->mutable_submodel_elements();
2064 void set_submodel_elements(
2067 std::shared_ptr<types::ISubmodelElement>
2071 instance_->set_submodel_elements(value);
2075 return instance_->KindOrDefault();
2078 const std::shared_ptr<E>& enhancement()
const {
2079 return enhancement_;
2082 std::shared_ptr<E>& mutable_enhancement() {
2083 return enhancement_;
2086 void set_enhancement(
2087 std::shared_ptr<E> value
2089 enhancement_ = std::move(value);
2093 std::shared_ptr<types::ISubmodel> instance,
2094 std::shared_ptr<E> enhancement
2096 instance_(instance),
2097 enhancement_(enhancement) {
2101 virtual ~EnhancedSubmodel() =
default;
2104 std::shared_ptr<types::ISubmodel> instance_;
2105 std::shared_ptr<E> enhancement_;
2109class EnhancedRelationshipElement
2111 virtual public IEnhanced<E> {
2117 const common::optional<
2119 std::shared_ptr<types::IExtension>
2121 >& extensions()
const override {
2122 return instance_->extensions();
2127 std::shared_ptr<types::IExtension>
2129 >& mutable_extensions()
override {
2130 return instance_->mutable_extensions();
2133 void set_extensions(
2136 std::shared_ptr<types::IExtension>
2140 instance_->set_extensions(value);
2143 const common::optional<std::wstring>& category()
const override {
2144 return instance_->category();
2147 common::optional<std::wstring>& mutable_category()
override {
2148 return instance_->mutable_category();
2152 common::optional<std::wstring> value
2154 instance_->set_category(value);
2157 const common::optional<std::wstring>& id_short()
const override {
2158 return instance_->id_short();
2161 common::optional<std::wstring>& mutable_id_short()
override {
2162 return instance_->mutable_id_short();
2166 common::optional<std::wstring> value
2168 instance_->set_id_short(value);
2171 const common::optional<
2173 std::shared_ptr<types::ILangStringNameType>
2175 >& display_name()
const override {
2176 return instance_->display_name();
2181 std::shared_ptr<types::ILangStringNameType>
2183 >& mutable_display_name()
override {
2184 return instance_->mutable_display_name();
2187 void set_display_name(
2190 std::shared_ptr<types::ILangStringNameType>
2194 instance_->set_display_name(value);
2197 const common::optional<
2199 std::shared_ptr<types::ILangStringTextType>
2201 >& description()
const override {
2202 return instance_->description();
2207 std::shared_ptr<types::ILangStringTextType>
2209 >& mutable_description()
override {
2210 return instance_->mutable_description();
2213 void set_description(
2216 std::shared_ptr<types::ILangStringTextType>
2220 instance_->set_description(value);
2223 const common::optional<
2224 std::shared_ptr<types::IReference>
2225 >& semantic_id()
const override {
2226 return instance_->semantic_id();
2230 std::shared_ptr<types::IReference>
2231 >& mutable_semantic_id()
override {
2232 return instance_->mutable_semantic_id();
2235 void set_semantic_id(
2237 std::shared_ptr<types::IReference>
2240 instance_->set_semantic_id(value);
2243 const common::optional<
2245 std::shared_ptr<types::IReference>
2247 >& supplemental_semantic_ids()
const override {
2248 return instance_->supplemental_semantic_ids();
2253 std::shared_ptr<types::IReference>
2255 >& mutable_supplemental_semantic_ids()
override {
2256 return instance_->mutable_supplemental_semantic_ids();
2259 void set_supplemental_semantic_ids(
2262 std::shared_ptr<types::IReference>
2266 instance_->set_supplemental_semantic_ids(value);
2269 const common::optional<
2271 std::shared_ptr<types::IQualifier>
2273 >& qualifiers()
const override {
2274 return instance_->qualifiers();
2279 std::shared_ptr<types::IQualifier>
2281 >& mutable_qualifiers()
override {
2282 return instance_->mutable_qualifiers();
2285 void set_qualifiers(
2288 std::shared_ptr<types::IQualifier>
2292 instance_->set_qualifiers(value);
2295 const common::optional<
2297 std::shared_ptr<types::IEmbeddedDataSpecification>
2299 >& embedded_data_specifications()
const override {
2300 return instance_->embedded_data_specifications();
2305 std::shared_ptr<types::IEmbeddedDataSpecification>
2307 >& mutable_embedded_data_specifications()
override {
2308 return instance_->mutable_embedded_data_specifications();
2311 void set_embedded_data_specifications(
2314 std::shared_ptr<types::IEmbeddedDataSpecification>
2318 instance_->set_embedded_data_specifications(value);
2321 const std::shared_ptr<types::IReference>& first()
const override {
2322 return instance_->first();
2325 std::shared_ptr<types::IReference>& mutable_first()
override {
2326 return instance_->mutable_first();
2330 std::shared_ptr<types::IReference> value
2332 instance_->set_first(value);
2335 const std::shared_ptr<types::IReference>& second()
const override {
2336 return instance_->second();
2339 std::shared_ptr<types::IReference>& mutable_second()
override {
2340 return instance_->mutable_second();
2344 std::shared_ptr<types::IReference> value
2346 instance_->set_second(value);
2349 const std::shared_ptr<E>& enhancement()
const {
2350 return enhancement_;
2353 std::shared_ptr<E>& mutable_enhancement() {
2354 return enhancement_;
2357 void set_enhancement(
2358 std::shared_ptr<E> value
2360 enhancement_ = std::move(value);
2363 EnhancedRelationshipElement(
2364 std::shared_ptr<types::IRelationshipElement> instance,
2365 std::shared_ptr<E> enhancement
2367 instance_(instance),
2368 enhancement_(enhancement) {
2372 virtual ~EnhancedRelationshipElement() =
default;
2375 std::shared_ptr<types::IRelationshipElement> instance_;
2376 std::shared_ptr<E> enhancement_;
2380class EnhancedSubmodelElementList
2382 virtual public IEnhanced<E> {
2388 const common::optional<
2390 std::shared_ptr<types::IExtension>
2392 >& extensions()
const override {
2393 return instance_->extensions();
2398 std::shared_ptr<types::IExtension>
2400 >& mutable_extensions()
override {
2401 return instance_->mutable_extensions();
2404 void set_extensions(
2407 std::shared_ptr<types::IExtension>
2411 instance_->set_extensions(value);
2414 const common::optional<std::wstring>& category()
const override {
2415 return instance_->category();
2418 common::optional<std::wstring>& mutable_category()
override {
2419 return instance_->mutable_category();
2423 common::optional<std::wstring> value
2425 instance_->set_category(value);
2428 const common::optional<std::wstring>& id_short()
const override {
2429 return instance_->id_short();
2432 common::optional<std::wstring>& mutable_id_short()
override {
2433 return instance_->mutable_id_short();
2437 common::optional<std::wstring> value
2439 instance_->set_id_short(value);
2442 const common::optional<
2444 std::shared_ptr<types::ILangStringNameType>
2446 >& display_name()
const override {
2447 return instance_->display_name();
2452 std::shared_ptr<types::ILangStringNameType>
2454 >& mutable_display_name()
override {
2455 return instance_->mutable_display_name();
2458 void set_display_name(
2461 std::shared_ptr<types::ILangStringNameType>
2465 instance_->set_display_name(value);
2468 const common::optional<
2470 std::shared_ptr<types::ILangStringTextType>
2472 >& description()
const override {
2473 return instance_->description();
2478 std::shared_ptr<types::ILangStringTextType>
2480 >& mutable_description()
override {
2481 return instance_->mutable_description();
2484 void set_description(
2487 std::shared_ptr<types::ILangStringTextType>
2491 instance_->set_description(value);
2494 const common::optional<
2495 std::shared_ptr<types::IReference>
2496 >& semantic_id()
const override {
2497 return instance_->semantic_id();
2501 std::shared_ptr<types::IReference>
2502 >& mutable_semantic_id()
override {
2503 return instance_->mutable_semantic_id();
2506 void set_semantic_id(
2508 std::shared_ptr<types::IReference>
2511 instance_->set_semantic_id(value);
2514 const common::optional<
2516 std::shared_ptr<types::IReference>
2518 >& supplemental_semantic_ids()
const override {
2519 return instance_->supplemental_semantic_ids();
2524 std::shared_ptr<types::IReference>
2526 >& mutable_supplemental_semantic_ids()
override {
2527 return instance_->mutable_supplemental_semantic_ids();
2530 void set_supplemental_semantic_ids(
2533 std::shared_ptr<types::IReference>
2537 instance_->set_supplemental_semantic_ids(value);
2540 const common::optional<
2542 std::shared_ptr<types::IQualifier>
2544 >& qualifiers()
const override {
2545 return instance_->qualifiers();
2550 std::shared_ptr<types::IQualifier>
2552 >& mutable_qualifiers()
override {
2553 return instance_->mutable_qualifiers();
2556 void set_qualifiers(
2559 std::shared_ptr<types::IQualifier>
2563 instance_->set_qualifiers(value);
2566 const common::optional<
2568 std::shared_ptr<types::IEmbeddedDataSpecification>
2570 >& embedded_data_specifications()
const override {
2571 return instance_->embedded_data_specifications();
2576 std::shared_ptr<types::IEmbeddedDataSpecification>
2578 >& mutable_embedded_data_specifications()
override {
2579 return instance_->mutable_embedded_data_specifications();
2582 void set_embedded_data_specifications(
2585 std::shared_ptr<types::IEmbeddedDataSpecification>
2589 instance_->set_embedded_data_specifications(value);
2592 const common::optional<bool>& order_relevant()
const override {
2593 return instance_->order_relevant();
2596 common::optional<bool>& mutable_order_relevant()
override {
2597 return instance_->mutable_order_relevant();
2600 void set_order_relevant(
2601 common::optional<bool> value
2603 instance_->set_order_relevant(value);
2606 const common::optional<
2607 std::shared_ptr<types::IReference>
2608 >& semantic_id_list_element()
const override {
2609 return instance_->semantic_id_list_element();
2613 std::shared_ptr<types::IReference>
2614 >& mutable_semantic_id_list_element()
override {
2615 return instance_->mutable_semantic_id_list_element();
2618 void set_semantic_id_list_element(
2620 std::shared_ptr<types::IReference>
2623 instance_->set_semantic_id_list_element(value);
2627 return instance_->type_value_list_element();
2631 return instance_->mutable_type_value_list_element();
2634 void set_type_value_list_element(
2637 instance_->set_type_value_list_element(value);
2640 const common::optional<types::DataTypeDefXsd>& value_type_list_element()
const override {
2641 return instance_->value_type_list_element();
2644 common::optional<types::DataTypeDefXsd>& mutable_value_type_list_element()
override {
2645 return instance_->mutable_value_type_list_element();
2648 void set_value_type_list_element(
2649 common::optional<types::DataTypeDefXsd> value
2651 instance_->set_value_type_list_element(value);
2654 const common::optional<
2656 std::shared_ptr<types::ISubmodelElement>
2658 >& value()
const override {
2659 return instance_->value();
2664 std::shared_ptr<types::ISubmodelElement>
2666 >& mutable_value()
override {
2667 return instance_->mutable_value();
2673 std::shared_ptr<types::ISubmodelElement>
2677 instance_->set_value(value);
2680 bool OrderRelevantOrDefault()
const override {
2681 return instance_->OrderRelevantOrDefault();
2684 const std::shared_ptr<E>& enhancement()
const {
2685 return enhancement_;
2688 std::shared_ptr<E>& mutable_enhancement() {
2689 return enhancement_;
2692 void set_enhancement(
2693 std::shared_ptr<E> value
2695 enhancement_ = std::move(value);
2698 EnhancedSubmodelElementList(
2699 std::shared_ptr<types::ISubmodelElementList> instance,
2700 std::shared_ptr<E> enhancement
2702 instance_(instance),
2703 enhancement_(enhancement) {
2707 virtual ~EnhancedSubmodelElementList() =
default;
2710 std::shared_ptr<types::ISubmodelElementList> instance_;
2711 std::shared_ptr<E> enhancement_;
2715class EnhancedSubmodelElementCollection
2717 virtual public IEnhanced<E> {
2723 const common::optional<
2725 std::shared_ptr<types::IExtension>
2727 >& extensions()
const override {
2728 return instance_->extensions();
2733 std::shared_ptr<types::IExtension>
2735 >& mutable_extensions()
override {
2736 return instance_->mutable_extensions();
2739 void set_extensions(
2742 std::shared_ptr<types::IExtension>
2746 instance_->set_extensions(value);
2749 const common::optional<std::wstring>& category()
const override {
2750 return instance_->category();
2753 common::optional<std::wstring>& mutable_category()
override {
2754 return instance_->mutable_category();
2758 common::optional<std::wstring> value
2760 instance_->set_category(value);
2763 const common::optional<std::wstring>& id_short()
const override {
2764 return instance_->id_short();
2767 common::optional<std::wstring>& mutable_id_short()
override {
2768 return instance_->mutable_id_short();
2772 common::optional<std::wstring> value
2774 instance_->set_id_short(value);
2777 const common::optional<
2779 std::shared_ptr<types::ILangStringNameType>
2781 >& display_name()
const override {
2782 return instance_->display_name();
2787 std::shared_ptr<types::ILangStringNameType>
2789 >& mutable_display_name()
override {
2790 return instance_->mutable_display_name();
2793 void set_display_name(
2796 std::shared_ptr<types::ILangStringNameType>
2800 instance_->set_display_name(value);
2803 const common::optional<
2805 std::shared_ptr<types::ILangStringTextType>
2807 >& description()
const override {
2808 return instance_->description();
2813 std::shared_ptr<types::ILangStringTextType>
2815 >& mutable_description()
override {
2816 return instance_->mutable_description();
2819 void set_description(
2822 std::shared_ptr<types::ILangStringTextType>
2826 instance_->set_description(value);
2829 const common::optional<
2830 std::shared_ptr<types::IReference>
2831 >& semantic_id()
const override {
2832 return instance_->semantic_id();
2836 std::shared_ptr<types::IReference>
2837 >& mutable_semantic_id()
override {
2838 return instance_->mutable_semantic_id();
2841 void set_semantic_id(
2843 std::shared_ptr<types::IReference>
2846 instance_->set_semantic_id(value);
2849 const common::optional<
2851 std::shared_ptr<types::IReference>
2853 >& supplemental_semantic_ids()
const override {
2854 return instance_->supplemental_semantic_ids();
2859 std::shared_ptr<types::IReference>
2861 >& mutable_supplemental_semantic_ids()
override {
2862 return instance_->mutable_supplemental_semantic_ids();
2865 void set_supplemental_semantic_ids(
2868 std::shared_ptr<types::IReference>
2872 instance_->set_supplemental_semantic_ids(value);
2875 const common::optional<
2877 std::shared_ptr<types::IQualifier>
2879 >& qualifiers()
const override {
2880 return instance_->qualifiers();
2885 std::shared_ptr<types::IQualifier>
2887 >& mutable_qualifiers()
override {
2888 return instance_->mutable_qualifiers();
2891 void set_qualifiers(
2894 std::shared_ptr<types::IQualifier>
2898 instance_->set_qualifiers(value);
2901 const common::optional<
2903 std::shared_ptr<types::IEmbeddedDataSpecification>
2905 >& embedded_data_specifications()
const override {
2906 return instance_->embedded_data_specifications();
2911 std::shared_ptr<types::IEmbeddedDataSpecification>
2913 >& mutable_embedded_data_specifications()
override {
2914 return instance_->mutable_embedded_data_specifications();
2917 void set_embedded_data_specifications(
2920 std::shared_ptr<types::IEmbeddedDataSpecification>
2924 instance_->set_embedded_data_specifications(value);
2927 const common::optional<
2929 std::shared_ptr<types::ISubmodelElement>
2931 >& value()
const override {
2932 return instance_->value();
2937 std::shared_ptr<types::ISubmodelElement>
2939 >& mutable_value()
override {
2940 return instance_->mutable_value();
2946 std::shared_ptr<types::ISubmodelElement>
2950 instance_->set_value(value);
2953 const std::shared_ptr<E>& enhancement()
const {
2954 return enhancement_;
2957 std::shared_ptr<E>& mutable_enhancement() {
2958 return enhancement_;
2961 void set_enhancement(
2962 std::shared_ptr<E> value
2964 enhancement_ = std::move(value);
2967 EnhancedSubmodelElementCollection(
2968 std::shared_ptr<types::ISubmodelElementCollection> instance,
2969 std::shared_ptr<E> enhancement
2971 instance_(instance),
2972 enhancement_(enhancement) {
2976 virtual ~EnhancedSubmodelElementCollection() =
default;
2979 std::shared_ptr<types::ISubmodelElementCollection> instance_;
2980 std::shared_ptr<E> enhancement_;
2984class EnhancedProperty
2986 virtual public IEnhanced<E> {
2992 const common::optional<
2994 std::shared_ptr<types::IExtension>
2996 >& extensions()
const override {
2997 return instance_->extensions();
3002 std::shared_ptr<types::IExtension>
3004 >& mutable_extensions()
override {
3005 return instance_->mutable_extensions();
3008 void set_extensions(
3011 std::shared_ptr<types::IExtension>
3015 instance_->set_extensions(value);
3018 const common::optional<std::wstring>& category()
const override {
3019 return instance_->category();
3022 common::optional<std::wstring>& mutable_category()
override {
3023 return instance_->mutable_category();
3027 common::optional<std::wstring> value
3029 instance_->set_category(value);
3032 const common::optional<std::wstring>& id_short()
const override {
3033 return instance_->id_short();
3036 common::optional<std::wstring>& mutable_id_short()
override {
3037 return instance_->mutable_id_short();
3041 common::optional<std::wstring> value
3043 instance_->set_id_short(value);
3046 const common::optional<
3048 std::shared_ptr<types::ILangStringNameType>
3050 >& display_name()
const override {
3051 return instance_->display_name();
3056 std::shared_ptr<types::ILangStringNameType>
3058 >& mutable_display_name()
override {
3059 return instance_->mutable_display_name();
3062 void set_display_name(
3065 std::shared_ptr<types::ILangStringNameType>
3069 instance_->set_display_name(value);
3072 const common::optional<
3074 std::shared_ptr<types::ILangStringTextType>
3076 >& description()
const override {
3077 return instance_->description();
3082 std::shared_ptr<types::ILangStringTextType>
3084 >& mutable_description()
override {
3085 return instance_->mutable_description();
3088 void set_description(
3091 std::shared_ptr<types::ILangStringTextType>
3095 instance_->set_description(value);
3098 const common::optional<
3099 std::shared_ptr<types::IReference>
3100 >& semantic_id()
const override {
3101 return instance_->semantic_id();
3105 std::shared_ptr<types::IReference>
3106 >& mutable_semantic_id()
override {
3107 return instance_->mutable_semantic_id();
3110 void set_semantic_id(
3112 std::shared_ptr<types::IReference>
3115 instance_->set_semantic_id(value);
3118 const common::optional<
3120 std::shared_ptr<types::IReference>
3122 >& supplemental_semantic_ids()
const override {
3123 return instance_->supplemental_semantic_ids();
3128 std::shared_ptr<types::IReference>
3130 >& mutable_supplemental_semantic_ids()
override {
3131 return instance_->mutable_supplemental_semantic_ids();
3134 void set_supplemental_semantic_ids(
3137 std::shared_ptr<types::IReference>
3141 instance_->set_supplemental_semantic_ids(value);
3144 const common::optional<
3146 std::shared_ptr<types::IQualifier>
3148 >& qualifiers()
const override {
3149 return instance_->qualifiers();
3154 std::shared_ptr<types::IQualifier>
3156 >& mutable_qualifiers()
override {
3157 return instance_->mutable_qualifiers();
3160 void set_qualifiers(
3163 std::shared_ptr<types::IQualifier>
3167 instance_->set_qualifiers(value);
3170 const common::optional<
3172 std::shared_ptr<types::IEmbeddedDataSpecification>
3174 >& embedded_data_specifications()
const override {
3175 return instance_->embedded_data_specifications();
3180 std::shared_ptr<types::IEmbeddedDataSpecification>
3182 >& mutable_embedded_data_specifications()
override {
3183 return instance_->mutable_embedded_data_specifications();
3186 void set_embedded_data_specifications(
3189 std::shared_ptr<types::IEmbeddedDataSpecification>
3193 instance_->set_embedded_data_specifications(value);
3197 return instance_->value_type();
3201 return instance_->mutable_value_type();
3204 void set_value_type(
3207 instance_->set_value_type(value);
3210 const common::optional<std::wstring>& value()
const override {
3211 return instance_->value();
3214 common::optional<std::wstring>& mutable_value()
override {
3215 return instance_->mutable_value();
3219 common::optional<std::wstring> value
3221 instance_->set_value(value);
3224 const common::optional<
3225 std::shared_ptr<types::IReference>
3226 >& value_id()
const override {
3227 return instance_->value_id();
3231 std::shared_ptr<types::IReference>
3232 >& mutable_value_id()
override {
3233 return instance_->mutable_value_id();
3238 std::shared_ptr<types::IReference>
3241 instance_->set_value_id(value);
3244 std::wstring CategoryOrDefault()
const override {
3245 return instance_->CategoryOrDefault();
3248 const std::shared_ptr<E>& enhancement()
const {
3249 return enhancement_;
3252 std::shared_ptr<E>& mutable_enhancement() {
3253 return enhancement_;
3256 void set_enhancement(
3257 std::shared_ptr<E> value
3259 enhancement_ = std::move(value);
3263 std::shared_ptr<types::IProperty> instance,
3264 std::shared_ptr<E> enhancement
3266 instance_(instance),
3267 enhancement_(enhancement) {
3271 virtual ~EnhancedProperty() =
default;
3274 std::shared_ptr<types::IProperty> instance_;
3275 std::shared_ptr<E> enhancement_;
3279class EnhancedMultiLanguageProperty
3281 virtual public IEnhanced<E> {
3287 const common::optional<
3289 std::shared_ptr<types::IExtension>
3291 >& extensions()
const override {
3292 return instance_->extensions();
3297 std::shared_ptr<types::IExtension>
3299 >& mutable_extensions()
override {
3300 return instance_->mutable_extensions();
3303 void set_extensions(
3306 std::shared_ptr<types::IExtension>
3310 instance_->set_extensions(value);
3313 const common::optional<std::wstring>& category()
const override {
3314 return instance_->category();
3317 common::optional<std::wstring>& mutable_category()
override {
3318 return instance_->mutable_category();
3322 common::optional<std::wstring> value
3324 instance_->set_category(value);
3327 const common::optional<std::wstring>& id_short()
const override {
3328 return instance_->id_short();
3331 common::optional<std::wstring>& mutable_id_short()
override {
3332 return instance_->mutable_id_short();
3336 common::optional<std::wstring> value
3338 instance_->set_id_short(value);
3341 const common::optional<
3343 std::shared_ptr<types::ILangStringNameType>
3345 >& display_name()
const override {
3346 return instance_->display_name();
3351 std::shared_ptr<types::ILangStringNameType>
3353 >& mutable_display_name()
override {
3354 return instance_->mutable_display_name();
3357 void set_display_name(
3360 std::shared_ptr<types::ILangStringNameType>
3364 instance_->set_display_name(value);
3367 const common::optional<
3369 std::shared_ptr<types::ILangStringTextType>
3371 >& description()
const override {
3372 return instance_->description();
3377 std::shared_ptr<types::ILangStringTextType>
3379 >& mutable_description()
override {
3380 return instance_->mutable_description();
3383 void set_description(
3386 std::shared_ptr<types::ILangStringTextType>
3390 instance_->set_description(value);
3393 const common::optional<
3394 std::shared_ptr<types::IReference>
3395 >& semantic_id()
const override {
3396 return instance_->semantic_id();
3400 std::shared_ptr<types::IReference>
3401 >& mutable_semantic_id()
override {
3402 return instance_->mutable_semantic_id();
3405 void set_semantic_id(
3407 std::shared_ptr<types::IReference>
3410 instance_->set_semantic_id(value);
3413 const common::optional<
3415 std::shared_ptr<types::IReference>
3417 >& supplemental_semantic_ids()
const override {
3418 return instance_->supplemental_semantic_ids();
3423 std::shared_ptr<types::IReference>
3425 >& mutable_supplemental_semantic_ids()
override {
3426 return instance_->mutable_supplemental_semantic_ids();
3429 void set_supplemental_semantic_ids(
3432 std::shared_ptr<types::IReference>
3436 instance_->set_supplemental_semantic_ids(value);
3439 const common::optional<
3441 std::shared_ptr<types::IQualifier>
3443 >& qualifiers()
const override {
3444 return instance_->qualifiers();
3449 std::shared_ptr<types::IQualifier>
3451 >& mutable_qualifiers()
override {
3452 return instance_->mutable_qualifiers();
3455 void set_qualifiers(
3458 std::shared_ptr<types::IQualifier>
3462 instance_->set_qualifiers(value);
3465 const common::optional<
3467 std::shared_ptr<types::IEmbeddedDataSpecification>
3469 >& embedded_data_specifications()
const override {
3470 return instance_->embedded_data_specifications();
3475 std::shared_ptr<types::IEmbeddedDataSpecification>
3477 >& mutable_embedded_data_specifications()
override {
3478 return instance_->mutable_embedded_data_specifications();
3481 void set_embedded_data_specifications(
3484 std::shared_ptr<types::IEmbeddedDataSpecification>
3488 instance_->set_embedded_data_specifications(value);
3491 const common::optional<
3493 std::shared_ptr<types::ILangStringTextType>
3495 >& value()
const override {
3496 return instance_->value();
3501 std::shared_ptr<types::ILangStringTextType>
3503 >& mutable_value()
override {
3504 return instance_->mutable_value();
3510 std::shared_ptr<types::ILangStringTextType>
3514 instance_->set_value(value);
3517 const common::optional<
3518 std::shared_ptr<types::IReference>
3519 >& value_id()
const override {
3520 return instance_->value_id();
3524 std::shared_ptr<types::IReference>
3525 >& mutable_value_id()
override {
3526 return instance_->mutable_value_id();
3531 std::shared_ptr<types::IReference>
3534 instance_->set_value_id(value);
3537 std::wstring CategoryOrDefault()
const override {
3538 return instance_->CategoryOrDefault();
3541 const std::shared_ptr<E>& enhancement()
const {
3542 return enhancement_;
3545 std::shared_ptr<E>& mutable_enhancement() {
3546 return enhancement_;
3549 void set_enhancement(
3550 std::shared_ptr<E> value
3552 enhancement_ = std::move(value);
3555 EnhancedMultiLanguageProperty(
3556 std::shared_ptr<types::IMultiLanguageProperty> instance,
3557 std::shared_ptr<E> enhancement
3559 instance_(instance),
3560 enhancement_(enhancement) {
3564 virtual ~EnhancedMultiLanguageProperty() =
default;
3567 std::shared_ptr<types::IMultiLanguageProperty> instance_;
3568 std::shared_ptr<E> enhancement_;
3574 virtual public IEnhanced<E> {
3580 const common::optional<
3582 std::shared_ptr<types::IExtension>
3584 >& extensions()
const override {
3585 return instance_->extensions();
3590 std::shared_ptr<types::IExtension>
3592 >& mutable_extensions()
override {
3593 return instance_->mutable_extensions();
3596 void set_extensions(
3599 std::shared_ptr<types::IExtension>
3603 instance_->set_extensions(value);
3606 const common::optional<std::wstring>& category()
const override {
3607 return instance_->category();
3610 common::optional<std::wstring>& mutable_category()
override {
3611 return instance_->mutable_category();
3615 common::optional<std::wstring> value
3617 instance_->set_category(value);
3620 const common::optional<std::wstring>& id_short()
const override {
3621 return instance_->id_short();
3624 common::optional<std::wstring>& mutable_id_short()
override {
3625 return instance_->mutable_id_short();
3629 common::optional<std::wstring> value
3631 instance_->set_id_short(value);
3634 const common::optional<
3636 std::shared_ptr<types::ILangStringNameType>
3638 >& display_name()
const override {
3639 return instance_->display_name();
3644 std::shared_ptr<types::ILangStringNameType>
3646 >& mutable_display_name()
override {
3647 return instance_->mutable_display_name();
3650 void set_display_name(
3653 std::shared_ptr<types::ILangStringNameType>
3657 instance_->set_display_name(value);
3660 const common::optional<
3662 std::shared_ptr<types::ILangStringTextType>
3664 >& description()
const override {
3665 return instance_->description();
3670 std::shared_ptr<types::ILangStringTextType>
3672 >& mutable_description()
override {
3673 return instance_->mutable_description();
3676 void set_description(
3679 std::shared_ptr<types::ILangStringTextType>
3683 instance_->set_description(value);
3686 const common::optional<
3687 std::shared_ptr<types::IReference>
3688 >& semantic_id()
const override {
3689 return instance_->semantic_id();
3693 std::shared_ptr<types::IReference>
3694 >& mutable_semantic_id()
override {
3695 return instance_->mutable_semantic_id();
3698 void set_semantic_id(
3700 std::shared_ptr<types::IReference>
3703 instance_->set_semantic_id(value);
3706 const common::optional<
3708 std::shared_ptr<types::IReference>
3710 >& supplemental_semantic_ids()
const override {
3711 return instance_->supplemental_semantic_ids();
3716 std::shared_ptr<types::IReference>
3718 >& mutable_supplemental_semantic_ids()
override {
3719 return instance_->mutable_supplemental_semantic_ids();
3722 void set_supplemental_semantic_ids(
3725 std::shared_ptr<types::IReference>
3729 instance_->set_supplemental_semantic_ids(value);
3732 const common::optional<
3734 std::shared_ptr<types::IQualifier>
3736 >& qualifiers()
const override {
3737 return instance_->qualifiers();
3742 std::shared_ptr<types::IQualifier>
3744 >& mutable_qualifiers()
override {
3745 return instance_->mutable_qualifiers();
3748 void set_qualifiers(
3751 std::shared_ptr<types::IQualifier>
3755 instance_->set_qualifiers(value);
3758 const common::optional<
3760 std::shared_ptr<types::IEmbeddedDataSpecification>
3762 >& embedded_data_specifications()
const override {
3763 return instance_->embedded_data_specifications();
3768 std::shared_ptr<types::IEmbeddedDataSpecification>
3770 >& mutable_embedded_data_specifications()
override {
3771 return instance_->mutable_embedded_data_specifications();
3774 void set_embedded_data_specifications(
3777 std::shared_ptr<types::IEmbeddedDataSpecification>
3781 instance_->set_embedded_data_specifications(value);
3785 return instance_->value_type();
3789 return instance_->mutable_value_type();
3792 void set_value_type(
3795 instance_->set_value_type(value);
3798 const common::optional<std::wstring>& min()
const override {
3799 return instance_->min();
3802 common::optional<std::wstring>& mutable_min()
override {
3803 return instance_->mutable_min();
3807 common::optional<std::wstring> value
3809 instance_->set_min(value);
3812 const common::optional<std::wstring>& max()
const override {
3813 return instance_->max();
3816 common::optional<std::wstring>& mutable_max()
override {
3817 return instance_->mutable_max();
3821 common::optional<std::wstring> value
3823 instance_->set_max(value);
3826 std::wstring CategoryOrDefault()
const override {
3827 return instance_->CategoryOrDefault();
3830 const std::shared_ptr<E>& enhancement()
const {
3831 return enhancement_;
3834 std::shared_ptr<E>& mutable_enhancement() {
3835 return enhancement_;
3838 void set_enhancement(
3839 std::shared_ptr<E> value
3841 enhancement_ = std::move(value);
3845 std::shared_ptr<types::IRange> instance,
3846 std::shared_ptr<E> enhancement
3848 instance_(instance),
3849 enhancement_(enhancement) {
3853 virtual ~EnhancedRange() =
default;
3856 std::shared_ptr<types::IRange> instance_;
3857 std::shared_ptr<E> enhancement_;
3861class EnhancedReferenceElement
3863 virtual public IEnhanced<E> {
3869 const common::optional<
3871 std::shared_ptr<types::IExtension>
3873 >& extensions()
const override {
3874 return instance_->extensions();
3879 std::shared_ptr<types::IExtension>
3881 >& mutable_extensions()
override {
3882 return instance_->mutable_extensions();
3885 void set_extensions(
3888 std::shared_ptr<types::IExtension>
3892 instance_->set_extensions(value);
3895 const common::optional<std::wstring>& category()
const override {
3896 return instance_->category();
3899 common::optional<std::wstring>& mutable_category()
override {
3900 return instance_->mutable_category();
3904 common::optional<std::wstring> value
3906 instance_->set_category(value);
3909 const common::optional<std::wstring>& id_short()
const override {
3910 return instance_->id_short();
3913 common::optional<std::wstring>& mutable_id_short()
override {
3914 return instance_->mutable_id_short();
3918 common::optional<std::wstring> value
3920 instance_->set_id_short(value);
3923 const common::optional<
3925 std::shared_ptr<types::ILangStringNameType>
3927 >& display_name()
const override {
3928 return instance_->display_name();
3933 std::shared_ptr<types::ILangStringNameType>
3935 >& mutable_display_name()
override {
3936 return instance_->mutable_display_name();
3939 void set_display_name(
3942 std::shared_ptr<types::ILangStringNameType>
3946 instance_->set_display_name(value);
3949 const common::optional<
3951 std::shared_ptr<types::ILangStringTextType>
3953 >& description()
const override {
3954 return instance_->description();
3959 std::shared_ptr<types::ILangStringTextType>
3961 >& mutable_description()
override {
3962 return instance_->mutable_description();
3965 void set_description(
3968 std::shared_ptr<types::ILangStringTextType>
3972 instance_->set_description(value);
3975 const common::optional<
3976 std::shared_ptr<types::IReference>
3977 >& semantic_id()
const override {
3978 return instance_->semantic_id();
3982 std::shared_ptr<types::IReference>
3983 >& mutable_semantic_id()
override {
3984 return instance_->mutable_semantic_id();
3987 void set_semantic_id(
3989 std::shared_ptr<types::IReference>
3992 instance_->set_semantic_id(value);
3995 const common::optional<
3997 std::shared_ptr<types::IReference>
3999 >& supplemental_semantic_ids()
const override {
4000 return instance_->supplemental_semantic_ids();
4005 std::shared_ptr<types::IReference>
4007 >& mutable_supplemental_semantic_ids()
override {
4008 return instance_->mutable_supplemental_semantic_ids();
4011 void set_supplemental_semantic_ids(
4014 std::shared_ptr<types::IReference>
4018 instance_->set_supplemental_semantic_ids(value);
4021 const common::optional<
4023 std::shared_ptr<types::IQualifier>
4025 >& qualifiers()
const override {
4026 return instance_->qualifiers();
4031 std::shared_ptr<types::IQualifier>
4033 >& mutable_qualifiers()
override {
4034 return instance_->mutable_qualifiers();
4037 void set_qualifiers(
4040 std::shared_ptr<types::IQualifier>
4044 instance_->set_qualifiers(value);
4047 const common::optional<
4049 std::shared_ptr<types::IEmbeddedDataSpecification>
4051 >& embedded_data_specifications()
const override {
4052 return instance_->embedded_data_specifications();
4057 std::shared_ptr<types::IEmbeddedDataSpecification>
4059 >& mutable_embedded_data_specifications()
override {
4060 return instance_->mutable_embedded_data_specifications();
4063 void set_embedded_data_specifications(
4066 std::shared_ptr<types::IEmbeddedDataSpecification>
4070 instance_->set_embedded_data_specifications(value);
4073 const common::optional<
4074 std::shared_ptr<types::IReference>
4075 >& value()
const override {
4076 return instance_->value();
4080 std::shared_ptr<types::IReference>
4081 >& mutable_value()
override {
4082 return instance_->mutable_value();
4087 std::shared_ptr<types::IReference>
4090 instance_->set_value(value);
4093 std::wstring CategoryOrDefault()
const override {
4094 return instance_->CategoryOrDefault();
4097 const std::shared_ptr<E>& enhancement()
const {
4098 return enhancement_;
4101 std::shared_ptr<E>& mutable_enhancement() {
4102 return enhancement_;
4105 void set_enhancement(
4106 std::shared_ptr<E> value
4108 enhancement_ = std::move(value);
4111 EnhancedReferenceElement(
4112 std::shared_ptr<types::IReferenceElement> instance,
4113 std::shared_ptr<E> enhancement
4115 instance_(instance),
4116 enhancement_(enhancement) {
4120 virtual ~EnhancedReferenceElement() =
default;
4123 std::shared_ptr<types::IReferenceElement> instance_;
4124 std::shared_ptr<E> enhancement_;
4130 virtual public IEnhanced<E> {
4136 const common::optional<
4138 std::shared_ptr<types::IExtension>
4140 >& extensions()
const override {
4141 return instance_->extensions();
4146 std::shared_ptr<types::IExtension>
4148 >& mutable_extensions()
override {
4149 return instance_->mutable_extensions();
4152 void set_extensions(
4155 std::shared_ptr<types::IExtension>
4159 instance_->set_extensions(value);
4162 const common::optional<std::wstring>& category()
const override {
4163 return instance_->category();
4166 common::optional<std::wstring>& mutable_category()
override {
4167 return instance_->mutable_category();
4171 common::optional<std::wstring> value
4173 instance_->set_category(value);
4176 const common::optional<std::wstring>& id_short()
const override {
4177 return instance_->id_short();
4180 common::optional<std::wstring>& mutable_id_short()
override {
4181 return instance_->mutable_id_short();
4185 common::optional<std::wstring> value
4187 instance_->set_id_short(value);
4190 const common::optional<
4192 std::shared_ptr<types::ILangStringNameType>
4194 >& display_name()
const override {
4195 return instance_->display_name();
4200 std::shared_ptr<types::ILangStringNameType>
4202 >& mutable_display_name()
override {
4203 return instance_->mutable_display_name();
4206 void set_display_name(
4209 std::shared_ptr<types::ILangStringNameType>
4213 instance_->set_display_name(value);
4216 const common::optional<
4218 std::shared_ptr<types::ILangStringTextType>
4220 >& description()
const override {
4221 return instance_->description();
4226 std::shared_ptr<types::ILangStringTextType>
4228 >& mutable_description()
override {
4229 return instance_->mutable_description();
4232 void set_description(
4235 std::shared_ptr<types::ILangStringTextType>
4239 instance_->set_description(value);
4242 const common::optional<
4243 std::shared_ptr<types::IReference>
4244 >& semantic_id()
const override {
4245 return instance_->semantic_id();
4249 std::shared_ptr<types::IReference>
4250 >& mutable_semantic_id()
override {
4251 return instance_->mutable_semantic_id();
4254 void set_semantic_id(
4256 std::shared_ptr<types::IReference>
4259 instance_->set_semantic_id(value);
4262 const common::optional<
4264 std::shared_ptr<types::IReference>
4266 >& supplemental_semantic_ids()
const override {
4267 return instance_->supplemental_semantic_ids();
4272 std::shared_ptr<types::IReference>
4274 >& mutable_supplemental_semantic_ids()
override {
4275 return instance_->mutable_supplemental_semantic_ids();
4278 void set_supplemental_semantic_ids(
4281 std::shared_ptr<types::IReference>
4285 instance_->set_supplemental_semantic_ids(value);
4288 const common::optional<
4290 std::shared_ptr<types::IQualifier>
4292 >& qualifiers()
const override {
4293 return instance_->qualifiers();
4298 std::shared_ptr<types::IQualifier>
4300 >& mutable_qualifiers()
override {
4301 return instance_->mutable_qualifiers();
4304 void set_qualifiers(
4307 std::shared_ptr<types::IQualifier>
4311 instance_->set_qualifiers(value);
4314 const common::optional<
4316 std::shared_ptr<types::IEmbeddedDataSpecification>
4318 >& embedded_data_specifications()
const override {
4319 return instance_->embedded_data_specifications();
4324 std::shared_ptr<types::IEmbeddedDataSpecification>
4326 >& mutable_embedded_data_specifications()
override {
4327 return instance_->mutable_embedded_data_specifications();
4330 void set_embedded_data_specifications(
4333 std::shared_ptr<types::IEmbeddedDataSpecification>
4337 instance_->set_embedded_data_specifications(value);
4340 const common::optional<
4341 std::vector<std::uint8_t>
4342 >& value()
const override {
4343 return instance_->value();
4347 std::vector<std::uint8_t>
4348 >& mutable_value()
override {
4349 return instance_->mutable_value();
4354 std::vector<std::uint8_t>
4357 instance_->set_value(value);
4360 const std::wstring& content_type()
const override {
4361 return instance_->content_type();
4364 std::wstring& mutable_content_type()
override {
4365 return instance_->mutable_content_type();
4368 void set_content_type(
4371 instance_->set_content_type(value);
4374 std::wstring CategoryOrDefault()
const override {
4375 return instance_->CategoryOrDefault();
4378 const std::shared_ptr<E>& enhancement()
const {
4379 return enhancement_;
4382 std::shared_ptr<E>& mutable_enhancement() {
4383 return enhancement_;
4386 void set_enhancement(
4387 std::shared_ptr<E> value
4389 enhancement_ = std::move(value);
4393 std::shared_ptr<types::IBlob> instance,
4394 std::shared_ptr<E> enhancement
4396 instance_(instance),
4397 enhancement_(enhancement) {
4401 virtual ~EnhancedBlob() =
default;
4404 std::shared_ptr<types::IBlob> instance_;
4405 std::shared_ptr<E> enhancement_;
4411 virtual public IEnhanced<E> {
4417 const common::optional<
4419 std::shared_ptr<types::IExtension>
4421 >& extensions()
const override {
4422 return instance_->extensions();
4427 std::shared_ptr<types::IExtension>
4429 >& mutable_extensions()
override {
4430 return instance_->mutable_extensions();
4433 void set_extensions(
4436 std::shared_ptr<types::IExtension>
4440 instance_->set_extensions(value);
4443 const common::optional<std::wstring>& category()
const override {
4444 return instance_->category();
4447 common::optional<std::wstring>& mutable_category()
override {
4448 return instance_->mutable_category();
4452 common::optional<std::wstring> value
4454 instance_->set_category(value);
4457 const common::optional<std::wstring>& id_short()
const override {
4458 return instance_->id_short();
4461 common::optional<std::wstring>& mutable_id_short()
override {
4462 return instance_->mutable_id_short();
4466 common::optional<std::wstring> value
4468 instance_->set_id_short(value);
4471 const common::optional<
4473 std::shared_ptr<types::ILangStringNameType>
4475 >& display_name()
const override {
4476 return instance_->display_name();
4481 std::shared_ptr<types::ILangStringNameType>
4483 >& mutable_display_name()
override {
4484 return instance_->mutable_display_name();
4487 void set_display_name(
4490 std::shared_ptr<types::ILangStringNameType>
4494 instance_->set_display_name(value);
4497 const common::optional<
4499 std::shared_ptr<types::ILangStringTextType>
4501 >& description()
const override {
4502 return instance_->description();
4507 std::shared_ptr<types::ILangStringTextType>
4509 >& mutable_description()
override {
4510 return instance_->mutable_description();
4513 void set_description(
4516 std::shared_ptr<types::ILangStringTextType>
4520 instance_->set_description(value);
4523 const common::optional<
4524 std::shared_ptr<types::IReference>
4525 >& semantic_id()
const override {
4526 return instance_->semantic_id();
4530 std::shared_ptr<types::IReference>
4531 >& mutable_semantic_id()
override {
4532 return instance_->mutable_semantic_id();
4535 void set_semantic_id(
4537 std::shared_ptr<types::IReference>
4540 instance_->set_semantic_id(value);
4543 const common::optional<
4545 std::shared_ptr<types::IReference>
4547 >& supplemental_semantic_ids()
const override {
4548 return instance_->supplemental_semantic_ids();
4553 std::shared_ptr<types::IReference>
4555 >& mutable_supplemental_semantic_ids()
override {
4556 return instance_->mutable_supplemental_semantic_ids();
4559 void set_supplemental_semantic_ids(
4562 std::shared_ptr<types::IReference>
4566 instance_->set_supplemental_semantic_ids(value);
4569 const common::optional<
4571 std::shared_ptr<types::IQualifier>
4573 >& qualifiers()
const override {
4574 return instance_->qualifiers();
4579 std::shared_ptr<types::IQualifier>
4581 >& mutable_qualifiers()
override {
4582 return instance_->mutable_qualifiers();
4585 void set_qualifiers(
4588 std::shared_ptr<types::IQualifier>
4592 instance_->set_qualifiers(value);
4595 const common::optional<
4597 std::shared_ptr<types::IEmbeddedDataSpecification>
4599 >& embedded_data_specifications()
const override {
4600 return instance_->embedded_data_specifications();
4605 std::shared_ptr<types::IEmbeddedDataSpecification>
4607 >& mutable_embedded_data_specifications()
override {
4608 return instance_->mutable_embedded_data_specifications();
4611 void set_embedded_data_specifications(
4614 std::shared_ptr<types::IEmbeddedDataSpecification>
4618 instance_->set_embedded_data_specifications(value);
4621 const common::optional<std::wstring>& value()
const override {
4622 return instance_->value();
4625 common::optional<std::wstring>& mutable_value()
override {
4626 return instance_->mutable_value();
4630 common::optional<std::wstring> value
4632 instance_->set_value(value);
4635 const std::wstring& content_type()
const override {
4636 return instance_->content_type();
4639 std::wstring& mutable_content_type()
override {
4640 return instance_->mutable_content_type();
4643 void set_content_type(
4646 instance_->set_content_type(value);
4649 std::wstring CategoryOrDefault()
const override {
4650 return instance_->CategoryOrDefault();
4653 const std::shared_ptr<E>& enhancement()
const {
4654 return enhancement_;
4657 std::shared_ptr<E>& mutable_enhancement() {
4658 return enhancement_;
4661 void set_enhancement(
4662 std::shared_ptr<E> value
4664 enhancement_ = std::move(value);
4668 std::shared_ptr<types::IFile> instance,
4669 std::shared_ptr<E> enhancement
4671 instance_(instance),
4672 enhancement_(enhancement) {
4676 virtual ~EnhancedFile() =
default;
4679 std::shared_ptr<types::IFile> instance_;
4680 std::shared_ptr<E> enhancement_;
4684class EnhancedAnnotatedRelationshipElement
4686 virtual public IEnhanced<E> {
4692 const common::optional<
4694 std::shared_ptr<types::IExtension>
4696 >& extensions()
const override {
4697 return instance_->extensions();
4702 std::shared_ptr<types::IExtension>
4704 >& mutable_extensions()
override {
4705 return instance_->mutable_extensions();
4708 void set_extensions(
4711 std::shared_ptr<types::IExtension>
4715 instance_->set_extensions(value);
4718 const common::optional<std::wstring>& category()
const override {
4719 return instance_->category();
4722 common::optional<std::wstring>& mutable_category()
override {
4723 return instance_->mutable_category();
4727 common::optional<std::wstring> value
4729 instance_->set_category(value);
4732 const common::optional<std::wstring>& id_short()
const override {
4733 return instance_->id_short();
4736 common::optional<std::wstring>& mutable_id_short()
override {
4737 return instance_->mutable_id_short();
4741 common::optional<std::wstring> value
4743 instance_->set_id_short(value);
4746 const common::optional<
4748 std::shared_ptr<types::ILangStringNameType>
4750 >& display_name()
const override {
4751 return instance_->display_name();
4756 std::shared_ptr<types::ILangStringNameType>
4758 >& mutable_display_name()
override {
4759 return instance_->mutable_display_name();
4762 void set_display_name(
4765 std::shared_ptr<types::ILangStringNameType>
4769 instance_->set_display_name(value);
4772 const common::optional<
4774 std::shared_ptr<types::ILangStringTextType>
4776 >& description()
const override {
4777 return instance_->description();
4782 std::shared_ptr<types::ILangStringTextType>
4784 >& mutable_description()
override {
4785 return instance_->mutable_description();
4788 void set_description(
4791 std::shared_ptr<types::ILangStringTextType>
4795 instance_->set_description(value);
4798 const common::optional<
4799 std::shared_ptr<types::IReference>
4800 >& semantic_id()
const override {
4801 return instance_->semantic_id();
4805 std::shared_ptr<types::IReference>
4806 >& mutable_semantic_id()
override {
4807 return instance_->mutable_semantic_id();
4810 void set_semantic_id(
4812 std::shared_ptr<types::IReference>
4815 instance_->set_semantic_id(value);
4818 const common::optional<
4820 std::shared_ptr<types::IReference>
4822 >& supplemental_semantic_ids()
const override {
4823 return instance_->supplemental_semantic_ids();
4828 std::shared_ptr<types::IReference>
4830 >& mutable_supplemental_semantic_ids()
override {
4831 return instance_->mutable_supplemental_semantic_ids();
4834 void set_supplemental_semantic_ids(
4837 std::shared_ptr<types::IReference>
4841 instance_->set_supplemental_semantic_ids(value);
4844 const common::optional<
4846 std::shared_ptr<types::IQualifier>
4848 >& qualifiers()
const override {
4849 return instance_->qualifiers();
4854 std::shared_ptr<types::IQualifier>
4856 >& mutable_qualifiers()
override {
4857 return instance_->mutable_qualifiers();
4860 void set_qualifiers(
4863 std::shared_ptr<types::IQualifier>
4867 instance_->set_qualifiers(value);
4870 const common::optional<
4872 std::shared_ptr<types::IEmbeddedDataSpecification>
4874 >& embedded_data_specifications()
const override {
4875 return instance_->embedded_data_specifications();
4880 std::shared_ptr<types::IEmbeddedDataSpecification>
4882 >& mutable_embedded_data_specifications()
override {
4883 return instance_->mutable_embedded_data_specifications();
4886 void set_embedded_data_specifications(
4889 std::shared_ptr<types::IEmbeddedDataSpecification>
4893 instance_->set_embedded_data_specifications(value);
4896 const std::shared_ptr<types::IReference>& first()
const override {
4897 return instance_->first();
4900 std::shared_ptr<types::IReference>& mutable_first()
override {
4901 return instance_->mutable_first();
4905 std::shared_ptr<types::IReference> value
4907 instance_->set_first(value);
4910 const std::shared_ptr<types::IReference>& second()
const override {
4911 return instance_->second();
4914 std::shared_ptr<types::IReference>& mutable_second()
override {
4915 return instance_->mutable_second();
4919 std::shared_ptr<types::IReference> value
4921 instance_->set_second(value);
4924 const common::optional<
4926 std::shared_ptr<types::IDataElement>
4928 >& annotations()
const override {
4929 return instance_->annotations();
4934 std::shared_ptr<types::IDataElement>
4936 >& mutable_annotations()
override {
4937 return instance_->mutable_annotations();
4940 void set_annotations(
4943 std::shared_ptr<types::IDataElement>
4947 instance_->set_annotations(value);
4950 const std::shared_ptr<E>& enhancement()
const {
4951 return enhancement_;
4954 std::shared_ptr<E>& mutable_enhancement() {
4955 return enhancement_;
4958 void set_enhancement(
4959 std::shared_ptr<E> value
4961 enhancement_ = std::move(value);
4964 EnhancedAnnotatedRelationshipElement(
4965 std::shared_ptr<types::IAnnotatedRelationshipElement> instance,
4966 std::shared_ptr<E> enhancement
4968 instance_(instance),
4969 enhancement_(enhancement) {
4973 virtual ~EnhancedAnnotatedRelationshipElement() =
default;
4976 std::shared_ptr<types::IAnnotatedRelationshipElement> instance_;
4977 std::shared_ptr<E> enhancement_;
4983 virtual public IEnhanced<E> {
4989 const common::optional<
4991 std::shared_ptr<types::IExtension>
4993 >& extensions()
const override {
4994 return instance_->extensions();
4999 std::shared_ptr<types::IExtension>
5001 >& mutable_extensions()
override {
5002 return instance_->mutable_extensions();
5005 void set_extensions(
5008 std::shared_ptr<types::IExtension>
5012 instance_->set_extensions(value);
5015 const common::optional<std::wstring>& category()
const override {
5016 return instance_->category();
5019 common::optional<std::wstring>& mutable_category()
override {
5020 return instance_->mutable_category();
5024 common::optional<std::wstring> value
5026 instance_->set_category(value);
5029 const common::optional<std::wstring>& id_short()
const override {
5030 return instance_->id_short();
5033 common::optional<std::wstring>& mutable_id_short()
override {
5034 return instance_->mutable_id_short();
5038 common::optional<std::wstring> value
5040 instance_->set_id_short(value);
5043 const common::optional<
5045 std::shared_ptr<types::ILangStringNameType>
5047 >& display_name()
const override {
5048 return instance_->display_name();
5053 std::shared_ptr<types::ILangStringNameType>
5055 >& mutable_display_name()
override {
5056 return instance_->mutable_display_name();
5059 void set_display_name(
5062 std::shared_ptr<types::ILangStringNameType>
5066 instance_->set_display_name(value);
5069 const common::optional<
5071 std::shared_ptr<types::ILangStringTextType>
5073 >& description()
const override {
5074 return instance_->description();
5079 std::shared_ptr<types::ILangStringTextType>
5081 >& mutable_description()
override {
5082 return instance_->mutable_description();
5085 void set_description(
5088 std::shared_ptr<types::ILangStringTextType>
5092 instance_->set_description(value);
5095 const common::optional<
5096 std::shared_ptr<types::IReference>
5097 >& semantic_id()
const override {
5098 return instance_->semantic_id();
5102 std::shared_ptr<types::IReference>
5103 >& mutable_semantic_id()
override {
5104 return instance_->mutable_semantic_id();
5107 void set_semantic_id(
5109 std::shared_ptr<types::IReference>
5112 instance_->set_semantic_id(value);
5115 const common::optional<
5117 std::shared_ptr<types::IReference>
5119 >& supplemental_semantic_ids()
const override {
5120 return instance_->supplemental_semantic_ids();
5125 std::shared_ptr<types::IReference>
5127 >& mutable_supplemental_semantic_ids()
override {
5128 return instance_->mutable_supplemental_semantic_ids();
5131 void set_supplemental_semantic_ids(
5134 std::shared_ptr<types::IReference>
5138 instance_->set_supplemental_semantic_ids(value);
5141 const common::optional<
5143 std::shared_ptr<types::IQualifier>
5145 >& qualifiers()
const override {
5146 return instance_->qualifiers();
5151 std::shared_ptr<types::IQualifier>
5153 >& mutable_qualifiers()
override {
5154 return instance_->mutable_qualifiers();
5157 void set_qualifiers(
5160 std::shared_ptr<types::IQualifier>
5164 instance_->set_qualifiers(value);
5167 const common::optional<
5169 std::shared_ptr<types::IEmbeddedDataSpecification>
5171 >& embedded_data_specifications()
const override {
5172 return instance_->embedded_data_specifications();
5177 std::shared_ptr<types::IEmbeddedDataSpecification>
5179 >& mutable_embedded_data_specifications()
override {
5180 return instance_->mutable_embedded_data_specifications();
5183 void set_embedded_data_specifications(
5186 std::shared_ptr<types::IEmbeddedDataSpecification>
5190 instance_->set_embedded_data_specifications(value);
5193 const common::optional<
5195 std::shared_ptr<types::ISubmodelElement>
5197 >& statements()
const override {
5198 return instance_->statements();
5203 std::shared_ptr<types::ISubmodelElement>
5205 >& mutable_statements()
override {
5206 return instance_->mutable_statements();
5209 void set_statements(
5212 std::shared_ptr<types::ISubmodelElement>
5216 instance_->set_statements(value);
5220 return instance_->entity_type();
5224 return instance_->mutable_entity_type();
5227 void set_entity_type(
5230 instance_->set_entity_type(value);
5233 const common::optional<std::wstring>& global_asset_id()
const override {
5234 return instance_->global_asset_id();
5237 common::optional<std::wstring>& mutable_global_asset_id()
override {
5238 return instance_->mutable_global_asset_id();
5241 void set_global_asset_id(
5242 common::optional<std::wstring> value
5244 instance_->set_global_asset_id(value);
5247 const common::optional<
5249 std::shared_ptr<types::ISpecificAssetId>
5251 >& specific_asset_ids()
const override {
5252 return instance_->specific_asset_ids();
5257 std::shared_ptr<types::ISpecificAssetId>
5259 >& mutable_specific_asset_ids()
override {
5260 return instance_->mutable_specific_asset_ids();
5263 void set_specific_asset_ids(
5266 std::shared_ptr<types::ISpecificAssetId>
5270 instance_->set_specific_asset_ids(value);
5273 const std::shared_ptr<E>& enhancement()
const {
5274 return enhancement_;
5277 std::shared_ptr<E>& mutable_enhancement() {
5278 return enhancement_;
5281 void set_enhancement(
5282 std::shared_ptr<E> value
5284 enhancement_ = std::move(value);
5288 std::shared_ptr<types::IEntity> instance,
5289 std::shared_ptr<E> enhancement
5291 instance_(instance),
5292 enhancement_(enhancement) {
5296 virtual ~EnhancedEntity() =
default;
5299 std::shared_ptr<types::IEntity> instance_;
5300 std::shared_ptr<E> enhancement_;
5304class EnhancedEventPayload
5306 virtual public IEnhanced<E> {
5312 const std::shared_ptr<types::IReference>& source()
const override {
5313 return instance_->source();
5316 std::shared_ptr<types::IReference>& mutable_source()
override {
5317 return instance_->mutable_source();
5321 std::shared_ptr<types::IReference> value
5323 instance_->set_source(value);
5326 const common::optional<
5327 std::shared_ptr<types::IReference>
5328 >& source_semantic_id()
const override {
5329 return instance_->source_semantic_id();
5333 std::shared_ptr<types::IReference>
5334 >& mutable_source_semantic_id()
override {
5335 return instance_->mutable_source_semantic_id();
5338 void set_source_semantic_id(
5340 std::shared_ptr<types::IReference>
5343 instance_->set_source_semantic_id(value);
5346 const std::shared_ptr<types::IReference>& observable_reference()
const override {
5347 return instance_->observable_reference();
5350 std::shared_ptr<types::IReference>& mutable_observable_reference()
override {
5351 return instance_->mutable_observable_reference();
5354 void set_observable_reference(
5355 std::shared_ptr<types::IReference> value
5357 instance_->set_observable_reference(value);
5360 const common::optional<
5361 std::shared_ptr<types::IReference>
5362 >& observable_semantic_id()
const override {
5363 return instance_->observable_semantic_id();
5367 std::shared_ptr<types::IReference>
5368 >& mutable_observable_semantic_id()
override {
5369 return instance_->mutable_observable_semantic_id();
5372 void set_observable_semantic_id(
5374 std::shared_ptr<types::IReference>
5377 instance_->set_observable_semantic_id(value);
5380 const common::optional<std::wstring>& topic()
const override {
5381 return instance_->topic();
5384 common::optional<std::wstring>& mutable_topic()
override {
5385 return instance_->mutable_topic();
5389 common::optional<std::wstring> value
5391 instance_->set_topic(value);
5394 const common::optional<
5395 std::shared_ptr<types::IReference>
5396 >& subject_id()
const override {
5397 return instance_->subject_id();
5401 std::shared_ptr<types::IReference>
5402 >& mutable_subject_id()
override {
5403 return instance_->mutable_subject_id();
5406 void set_subject_id(
5408 std::shared_ptr<types::IReference>
5411 instance_->set_subject_id(value);
5414 const std::wstring& time_stamp()
const override {
5415 return instance_->time_stamp();
5418 std::wstring& mutable_time_stamp()
override {
5419 return instance_->mutable_time_stamp();
5422 void set_time_stamp(
5425 instance_->set_time_stamp(value);
5428 const common::optional<
5429 std::vector<std::uint8_t>
5430 >& payload()
const override {
5431 return instance_->payload();
5435 std::vector<std::uint8_t>
5436 >& mutable_payload()
override {
5437 return instance_->mutable_payload();
5442 std::vector<std::uint8_t>
5445 instance_->set_payload(value);
5448 const std::shared_ptr<E>& enhancement()
const {
5449 return enhancement_;
5452 std::shared_ptr<E>& mutable_enhancement() {
5453 return enhancement_;
5456 void set_enhancement(
5457 std::shared_ptr<E> value
5459 enhancement_ = std::move(value);
5462 EnhancedEventPayload(
5463 std::shared_ptr<types::IEventPayload> instance,
5464 std::shared_ptr<E> enhancement
5466 instance_(instance),
5467 enhancement_(enhancement) {
5471 virtual ~EnhancedEventPayload() =
default;
5474 std::shared_ptr<types::IEventPayload> instance_;
5475 std::shared_ptr<E> enhancement_;
5479class EnhancedBasicEventElement
5481 virtual public IEnhanced<E> {
5487 const common::optional<
5489 std::shared_ptr<types::IExtension>
5491 >& extensions()
const override {
5492 return instance_->extensions();
5497 std::shared_ptr<types::IExtension>
5499 >& mutable_extensions()
override {
5500 return instance_->mutable_extensions();
5503 void set_extensions(
5506 std::shared_ptr<types::IExtension>
5510 instance_->set_extensions(value);
5513 const common::optional<std::wstring>& category()
const override {
5514 return instance_->category();
5517 common::optional<std::wstring>& mutable_category()
override {
5518 return instance_->mutable_category();
5522 common::optional<std::wstring> value
5524 instance_->set_category(value);
5527 const common::optional<std::wstring>& id_short()
const override {
5528 return instance_->id_short();
5531 common::optional<std::wstring>& mutable_id_short()
override {
5532 return instance_->mutable_id_short();
5536 common::optional<std::wstring> value
5538 instance_->set_id_short(value);
5541 const common::optional<
5543 std::shared_ptr<types::ILangStringNameType>
5545 >& display_name()
const override {
5546 return instance_->display_name();
5551 std::shared_ptr<types::ILangStringNameType>
5553 >& mutable_display_name()
override {
5554 return instance_->mutable_display_name();
5557 void set_display_name(
5560 std::shared_ptr<types::ILangStringNameType>
5564 instance_->set_display_name(value);
5567 const common::optional<
5569 std::shared_ptr<types::ILangStringTextType>
5571 >& description()
const override {
5572 return instance_->description();
5577 std::shared_ptr<types::ILangStringTextType>
5579 >& mutable_description()
override {
5580 return instance_->mutable_description();
5583 void set_description(
5586 std::shared_ptr<types::ILangStringTextType>
5590 instance_->set_description(value);
5593 const common::optional<
5594 std::shared_ptr<types::IReference>
5595 >& semantic_id()
const override {
5596 return instance_->semantic_id();
5600 std::shared_ptr<types::IReference>
5601 >& mutable_semantic_id()
override {
5602 return instance_->mutable_semantic_id();
5605 void set_semantic_id(
5607 std::shared_ptr<types::IReference>
5610 instance_->set_semantic_id(value);
5613 const common::optional<
5615 std::shared_ptr<types::IReference>
5617 >& supplemental_semantic_ids()
const override {
5618 return instance_->supplemental_semantic_ids();
5623 std::shared_ptr<types::IReference>
5625 >& mutable_supplemental_semantic_ids()
override {
5626 return instance_->mutable_supplemental_semantic_ids();
5629 void set_supplemental_semantic_ids(
5632 std::shared_ptr<types::IReference>
5636 instance_->set_supplemental_semantic_ids(value);
5639 const common::optional<
5641 std::shared_ptr<types::IQualifier>
5643 >& qualifiers()
const override {
5644 return instance_->qualifiers();
5649 std::shared_ptr<types::IQualifier>
5651 >& mutable_qualifiers()
override {
5652 return instance_->mutable_qualifiers();
5655 void set_qualifiers(
5658 std::shared_ptr<types::IQualifier>
5662 instance_->set_qualifiers(value);
5665 const common::optional<
5667 std::shared_ptr<types::IEmbeddedDataSpecification>
5669 >& embedded_data_specifications()
const override {
5670 return instance_->embedded_data_specifications();
5675 std::shared_ptr<types::IEmbeddedDataSpecification>
5677 >& mutable_embedded_data_specifications()
override {
5678 return instance_->mutable_embedded_data_specifications();
5681 void set_embedded_data_specifications(
5684 std::shared_ptr<types::IEmbeddedDataSpecification>
5688 instance_->set_embedded_data_specifications(value);
5691 const std::shared_ptr<types::IReference>& observed()
const override {
5692 return instance_->observed();
5695 std::shared_ptr<types::IReference>& mutable_observed()
override {
5696 return instance_->mutable_observed();
5700 std::shared_ptr<types::IReference> value
5702 instance_->set_observed(value);
5706 return instance_->direction();
5710 return instance_->mutable_direction();
5716 instance_->set_direction(value);
5720 return instance_->state();
5724 return instance_->mutable_state();
5730 instance_->set_state(value);
5733 const common::optional<std::wstring>& message_topic()
const override {
5734 return instance_->message_topic();
5737 common::optional<std::wstring>& mutable_message_topic()
override {
5738 return instance_->mutable_message_topic();
5741 void set_message_topic(
5742 common::optional<std::wstring> value
5744 instance_->set_message_topic(value);
5747 const common::optional<
5748 std::shared_ptr<types::IReference>
5749 >& message_broker()
const override {
5750 return instance_->message_broker();
5754 std::shared_ptr<types::IReference>
5755 >& mutable_message_broker()
override {
5756 return instance_->mutable_message_broker();
5759 void set_message_broker(
5761 std::shared_ptr<types::IReference>
5764 instance_->set_message_broker(value);
5767 const common::optional<std::wstring>& last_update()
const override {
5768 return instance_->last_update();
5771 common::optional<std::wstring>& mutable_last_update()
override {
5772 return instance_->mutable_last_update();
5775 void set_last_update(
5776 common::optional<std::wstring> value
5778 instance_->set_last_update(value);
5781 const common::optional<std::wstring>& min_interval()
const override {
5782 return instance_->min_interval();
5785 common::optional<std::wstring>& mutable_min_interval()
override {
5786 return instance_->mutable_min_interval();
5789 void set_min_interval(
5790 common::optional<std::wstring> value
5792 instance_->set_min_interval(value);
5795 const common::optional<std::wstring>& max_interval()
const override {
5796 return instance_->max_interval();
5799 common::optional<std::wstring>& mutable_max_interval()
override {
5800 return instance_->mutable_max_interval();
5803 void set_max_interval(
5804 common::optional<std::wstring> value
5806 instance_->set_max_interval(value);
5809 const std::shared_ptr<E>& enhancement()
const {
5810 return enhancement_;
5813 std::shared_ptr<E>& mutable_enhancement() {
5814 return enhancement_;
5817 void set_enhancement(
5818 std::shared_ptr<E> value
5820 enhancement_ = std::move(value);
5823 EnhancedBasicEventElement(
5824 std::shared_ptr<types::IBasicEventElement> instance,
5825 std::shared_ptr<E> enhancement
5827 instance_(instance),
5828 enhancement_(enhancement) {
5832 virtual ~EnhancedBasicEventElement() =
default;
5835 std::shared_ptr<types::IBasicEventElement> instance_;
5836 std::shared_ptr<E> enhancement_;
5840class EnhancedOperation
5842 virtual public IEnhanced<E> {
5848 const common::optional<
5850 std::shared_ptr<types::IExtension>
5852 >& extensions()
const override {
5853 return instance_->extensions();
5858 std::shared_ptr<types::IExtension>
5860 >& mutable_extensions()
override {
5861 return instance_->mutable_extensions();
5864 void set_extensions(
5867 std::shared_ptr<types::IExtension>
5871 instance_->set_extensions(value);
5874 const common::optional<std::wstring>& category()
const override {
5875 return instance_->category();
5878 common::optional<std::wstring>& mutable_category()
override {
5879 return instance_->mutable_category();
5883 common::optional<std::wstring> value
5885 instance_->set_category(value);
5888 const common::optional<std::wstring>& id_short()
const override {
5889 return instance_->id_short();
5892 common::optional<std::wstring>& mutable_id_short()
override {
5893 return instance_->mutable_id_short();
5897 common::optional<std::wstring> value
5899 instance_->set_id_short(value);
5902 const common::optional<
5904 std::shared_ptr<types::ILangStringNameType>
5906 >& display_name()
const override {
5907 return instance_->display_name();
5912 std::shared_ptr<types::ILangStringNameType>
5914 >& mutable_display_name()
override {
5915 return instance_->mutable_display_name();
5918 void set_display_name(
5921 std::shared_ptr<types::ILangStringNameType>
5925 instance_->set_display_name(value);
5928 const common::optional<
5930 std::shared_ptr<types::ILangStringTextType>
5932 >& description()
const override {
5933 return instance_->description();
5938 std::shared_ptr<types::ILangStringTextType>
5940 >& mutable_description()
override {
5941 return instance_->mutable_description();
5944 void set_description(
5947 std::shared_ptr<types::ILangStringTextType>
5951 instance_->set_description(value);
5954 const common::optional<
5955 std::shared_ptr<types::IReference>
5956 >& semantic_id()
const override {
5957 return instance_->semantic_id();
5961 std::shared_ptr<types::IReference>
5962 >& mutable_semantic_id()
override {
5963 return instance_->mutable_semantic_id();
5966 void set_semantic_id(
5968 std::shared_ptr<types::IReference>
5971 instance_->set_semantic_id(value);
5974 const common::optional<
5976 std::shared_ptr<types::IReference>
5978 >& supplemental_semantic_ids()
const override {
5979 return instance_->supplemental_semantic_ids();
5984 std::shared_ptr<types::IReference>
5986 >& mutable_supplemental_semantic_ids()
override {
5987 return instance_->mutable_supplemental_semantic_ids();
5990 void set_supplemental_semantic_ids(
5993 std::shared_ptr<types::IReference>
5997 instance_->set_supplemental_semantic_ids(value);
6000 const common::optional<
6002 std::shared_ptr<types::IQualifier>
6004 >& qualifiers()
const override {
6005 return instance_->qualifiers();
6010 std::shared_ptr<types::IQualifier>
6012 >& mutable_qualifiers()
override {
6013 return instance_->mutable_qualifiers();
6016 void set_qualifiers(
6019 std::shared_ptr<types::IQualifier>
6023 instance_->set_qualifiers(value);
6026 const common::optional<
6028 std::shared_ptr<types::IEmbeddedDataSpecification>
6030 >& embedded_data_specifications()
const override {
6031 return instance_->embedded_data_specifications();
6036 std::shared_ptr<types::IEmbeddedDataSpecification>
6038 >& mutable_embedded_data_specifications()
override {
6039 return instance_->mutable_embedded_data_specifications();
6042 void set_embedded_data_specifications(
6045 std::shared_ptr<types::IEmbeddedDataSpecification>
6049 instance_->set_embedded_data_specifications(value);
6052 const common::optional<
6054 std::shared_ptr<types::IOperationVariable>
6056 >& input_variables()
const override {
6057 return instance_->input_variables();
6062 std::shared_ptr<types::IOperationVariable>
6064 >& mutable_input_variables()
override {
6065 return instance_->mutable_input_variables();
6068 void set_input_variables(
6071 std::shared_ptr<types::IOperationVariable>
6075 instance_->set_input_variables(value);
6078 const common::optional<
6080 std::shared_ptr<types::IOperationVariable>
6082 >& output_variables()
const override {
6083 return instance_->output_variables();
6088 std::shared_ptr<types::IOperationVariable>
6090 >& mutable_output_variables()
override {
6091 return instance_->mutable_output_variables();
6094 void set_output_variables(
6097 std::shared_ptr<types::IOperationVariable>
6101 instance_->set_output_variables(value);
6104 const common::optional<
6106 std::shared_ptr<types::IOperationVariable>
6108 >& inoutput_variables()
const override {
6109 return instance_->inoutput_variables();
6114 std::shared_ptr<types::IOperationVariable>
6116 >& mutable_inoutput_variables()
override {
6117 return instance_->mutable_inoutput_variables();
6120 void set_inoutput_variables(
6123 std::shared_ptr<types::IOperationVariable>
6127 instance_->set_inoutput_variables(value);
6130 const std::shared_ptr<E>& enhancement()
const {
6131 return enhancement_;
6134 std::shared_ptr<E>& mutable_enhancement() {
6135 return enhancement_;
6138 void set_enhancement(
6139 std::shared_ptr<E> value
6141 enhancement_ = std::move(value);
6145 std::shared_ptr<types::IOperation> instance,
6146 std::shared_ptr<E> enhancement
6148 instance_(instance),
6149 enhancement_(enhancement) {
6153 virtual ~EnhancedOperation() =
default;
6156 std::shared_ptr<types::IOperation> instance_;
6157 std::shared_ptr<E> enhancement_;
6161class EnhancedOperationVariable
6163 virtual public IEnhanced<E> {
6169 const std::shared_ptr<types::ISubmodelElement>& value()
const override {
6170 return instance_->value();
6173 std::shared_ptr<types::ISubmodelElement>& mutable_value()
override {
6174 return instance_->mutable_value();
6178 std::shared_ptr<types::ISubmodelElement> value
6180 instance_->set_value(value);
6183 const std::shared_ptr<E>& enhancement()
const {
6184 return enhancement_;
6187 std::shared_ptr<E>& mutable_enhancement() {
6188 return enhancement_;
6191 void set_enhancement(
6192 std::shared_ptr<E> value
6194 enhancement_ = std::move(value);
6197 EnhancedOperationVariable(
6198 std::shared_ptr<types::IOperationVariable> instance,
6199 std::shared_ptr<E> enhancement
6201 instance_(instance),
6202 enhancement_(enhancement) {
6206 virtual ~EnhancedOperationVariable() =
default;
6209 std::shared_ptr<types::IOperationVariable> instance_;
6210 std::shared_ptr<E> enhancement_;
6214class EnhancedCapability
6216 virtual public IEnhanced<E> {
6222 const common::optional<
6224 std::shared_ptr<types::IExtension>
6226 >& extensions()
const override {
6227 return instance_->extensions();
6232 std::shared_ptr<types::IExtension>
6234 >& mutable_extensions()
override {
6235 return instance_->mutable_extensions();
6238 void set_extensions(
6241 std::shared_ptr<types::IExtension>
6245 instance_->set_extensions(value);
6248 const common::optional<std::wstring>& category()
const override {
6249 return instance_->category();
6252 common::optional<std::wstring>& mutable_category()
override {
6253 return instance_->mutable_category();
6257 common::optional<std::wstring> value
6259 instance_->set_category(value);
6262 const common::optional<std::wstring>& id_short()
const override {
6263 return instance_->id_short();
6266 common::optional<std::wstring>& mutable_id_short()
override {
6267 return instance_->mutable_id_short();
6271 common::optional<std::wstring> value
6273 instance_->set_id_short(value);
6276 const common::optional<
6278 std::shared_ptr<types::ILangStringNameType>
6280 >& display_name()
const override {
6281 return instance_->display_name();
6286 std::shared_ptr<types::ILangStringNameType>
6288 >& mutable_display_name()
override {
6289 return instance_->mutable_display_name();
6292 void set_display_name(
6295 std::shared_ptr<types::ILangStringNameType>
6299 instance_->set_display_name(value);
6302 const common::optional<
6304 std::shared_ptr<types::ILangStringTextType>
6306 >& description()
const override {
6307 return instance_->description();
6312 std::shared_ptr<types::ILangStringTextType>
6314 >& mutable_description()
override {
6315 return instance_->mutable_description();
6318 void set_description(
6321 std::shared_ptr<types::ILangStringTextType>
6325 instance_->set_description(value);
6328 const common::optional<
6329 std::shared_ptr<types::IReference>
6330 >& semantic_id()
const override {
6331 return instance_->semantic_id();
6335 std::shared_ptr<types::IReference>
6336 >& mutable_semantic_id()
override {
6337 return instance_->mutable_semantic_id();
6340 void set_semantic_id(
6342 std::shared_ptr<types::IReference>
6345 instance_->set_semantic_id(value);
6348 const common::optional<
6350 std::shared_ptr<types::IReference>
6352 >& supplemental_semantic_ids()
const override {
6353 return instance_->supplemental_semantic_ids();
6358 std::shared_ptr<types::IReference>
6360 >& mutable_supplemental_semantic_ids()
override {
6361 return instance_->mutable_supplemental_semantic_ids();
6364 void set_supplemental_semantic_ids(
6367 std::shared_ptr<types::IReference>
6371 instance_->set_supplemental_semantic_ids(value);
6374 const common::optional<
6376 std::shared_ptr<types::IQualifier>
6378 >& qualifiers()
const override {
6379 return instance_->qualifiers();
6384 std::shared_ptr<types::IQualifier>
6386 >& mutable_qualifiers()
override {
6387 return instance_->mutable_qualifiers();
6390 void set_qualifiers(
6393 std::shared_ptr<types::IQualifier>
6397 instance_->set_qualifiers(value);
6400 const common::optional<
6402 std::shared_ptr<types::IEmbeddedDataSpecification>
6404 >& embedded_data_specifications()
const override {
6405 return instance_->embedded_data_specifications();
6410 std::shared_ptr<types::IEmbeddedDataSpecification>
6412 >& mutable_embedded_data_specifications()
override {
6413 return instance_->mutable_embedded_data_specifications();
6416 void set_embedded_data_specifications(
6419 std::shared_ptr<types::IEmbeddedDataSpecification>
6423 instance_->set_embedded_data_specifications(value);
6426 const std::shared_ptr<E>& enhancement()
const {
6427 return enhancement_;
6430 std::shared_ptr<E>& mutable_enhancement() {
6431 return enhancement_;
6434 void set_enhancement(
6435 std::shared_ptr<E> value
6437 enhancement_ = std::move(value);
6441 std::shared_ptr<types::ICapability> instance,
6442 std::shared_ptr<E> enhancement
6444 instance_(instance),
6445 enhancement_(enhancement) {
6449 virtual ~EnhancedCapability() =
default;
6452 std::shared_ptr<types::ICapability> instance_;
6453 std::shared_ptr<E> enhancement_;
6457class EnhancedConceptDescription
6459 virtual public IEnhanced<E> {
6465 const common::optional<
6467 std::shared_ptr<types::IExtension>
6469 >& extensions()
const override {
6470 return instance_->extensions();
6475 std::shared_ptr<types::IExtension>
6477 >& mutable_extensions()
override {
6478 return instance_->mutable_extensions();
6481 void set_extensions(
6484 std::shared_ptr<types::IExtension>
6488 instance_->set_extensions(value);
6491 const common::optional<std::wstring>& category()
const override {
6492 return instance_->category();
6495 common::optional<std::wstring>& mutable_category()
override {
6496 return instance_->mutable_category();
6500 common::optional<std::wstring> value
6502 instance_->set_category(value);
6505 const common::optional<std::wstring>& id_short()
const override {
6506 return instance_->id_short();
6509 common::optional<std::wstring>& mutable_id_short()
override {
6510 return instance_->mutable_id_short();
6514 common::optional<std::wstring> value
6516 instance_->set_id_short(value);
6519 const common::optional<
6521 std::shared_ptr<types::ILangStringNameType>
6523 >& display_name()
const override {
6524 return instance_->display_name();
6529 std::shared_ptr<types::ILangStringNameType>
6531 >& mutable_display_name()
override {
6532 return instance_->mutable_display_name();
6535 void set_display_name(
6538 std::shared_ptr<types::ILangStringNameType>
6542 instance_->set_display_name(value);
6545 const common::optional<
6547 std::shared_ptr<types::ILangStringTextType>
6549 >& description()
const override {
6550 return instance_->description();
6555 std::shared_ptr<types::ILangStringTextType>
6557 >& mutable_description()
override {
6558 return instance_->mutable_description();
6561 void set_description(
6564 std::shared_ptr<types::ILangStringTextType>
6568 instance_->set_description(value);
6571 const common::optional<
6572 std::shared_ptr<types::IAdministrativeInformation>
6573 >& administration()
const override {
6574 return instance_->administration();
6578 std::shared_ptr<types::IAdministrativeInformation>
6579 >& mutable_administration()
override {
6580 return instance_->mutable_administration();
6583 void set_administration(
6585 std::shared_ptr<types::IAdministrativeInformation>
6588 instance_->set_administration(value);
6591 const std::wstring& id()
const override {
6592 return instance_->id();
6595 std::wstring& mutable_id()
override {
6596 return instance_->mutable_id();
6602 instance_->set_id(value);
6605 const common::optional<
6607 std::shared_ptr<types::IEmbeddedDataSpecification>
6609 >& embedded_data_specifications()
const override {
6610 return instance_->embedded_data_specifications();
6615 std::shared_ptr<types::IEmbeddedDataSpecification>
6617 >& mutable_embedded_data_specifications()
override {
6618 return instance_->mutable_embedded_data_specifications();
6621 void set_embedded_data_specifications(
6624 std::shared_ptr<types::IEmbeddedDataSpecification>
6628 instance_->set_embedded_data_specifications(value);
6631 const common::optional<
6633 std::shared_ptr<types::IReference>
6635 >& is_case_of()
const override {
6636 return instance_->is_case_of();
6641 std::shared_ptr<types::IReference>
6643 >& mutable_is_case_of()
override {
6644 return instance_->mutable_is_case_of();
6647 void set_is_case_of(
6650 std::shared_ptr<types::IReference>
6654 instance_->set_is_case_of(value);
6657 const std::shared_ptr<E>& enhancement()
const {
6658 return enhancement_;
6661 std::shared_ptr<E>& mutable_enhancement() {
6662 return enhancement_;
6665 void set_enhancement(
6666 std::shared_ptr<E> value
6668 enhancement_ = std::move(value);
6671 EnhancedConceptDescription(
6672 std::shared_ptr<types::IConceptDescription> instance,
6673 std::shared_ptr<E> enhancement
6675 instance_(instance),
6676 enhancement_(enhancement) {
6680 virtual ~EnhancedConceptDescription() =
default;
6683 std::shared_ptr<types::IConceptDescription> instance_;
6684 std::shared_ptr<E> enhancement_;
6688class EnhancedReference
6690 virtual public IEnhanced<E> {
6697 return instance_->type();
6701 return instance_->mutable_type();
6707 instance_->set_type(value);
6710 const common::optional<
6711 std::shared_ptr<types::IReference>
6712 >& referred_semantic_id()
const override {
6713 return instance_->referred_semantic_id();
6717 std::shared_ptr<types::IReference>
6718 >& mutable_referred_semantic_id()
override {
6719 return instance_->mutable_referred_semantic_id();
6722 void set_referred_semantic_id(
6724 std::shared_ptr<types::IReference>
6727 instance_->set_referred_semantic_id(value);
6731 std::shared_ptr<types::IKey>
6732 >& keys()
const override {
6733 return instance_->keys();
6737 std::shared_ptr<types::IKey>
6738 >& mutable_keys()
override {
6739 return instance_->mutable_keys();
6744 std::shared_ptr<types::IKey>
6747 instance_->set_keys(value);
6750 const std::shared_ptr<E>& enhancement()
const {
6751 return enhancement_;
6754 std::shared_ptr<E>& mutable_enhancement() {
6755 return enhancement_;
6758 void set_enhancement(
6759 std::shared_ptr<E> value
6761 enhancement_ = std::move(value);
6765 std::shared_ptr<types::IReference> instance,
6766 std::shared_ptr<E> enhancement
6768 instance_(instance),
6769 enhancement_(enhancement) {
6773 virtual ~EnhancedReference() =
default;
6776 std::shared_ptr<types::IReference> instance_;
6777 std::shared_ptr<E> enhancement_;
6783 virtual public IEnhanced<E> {
6790 return instance_->type();
6794 return instance_->mutable_type();
6800 instance_->set_type(value);
6803 const std::wstring& value()
const override {
6804 return instance_->value();
6807 std::wstring& mutable_value()
override {
6808 return instance_->mutable_value();
6814 instance_->set_value(value);
6817 const std::shared_ptr<E>& enhancement()
const {
6818 return enhancement_;
6821 std::shared_ptr<E>& mutable_enhancement() {
6822 return enhancement_;
6825 void set_enhancement(
6826 std::shared_ptr<E> value
6828 enhancement_ = std::move(value);
6832 std::shared_ptr<types::IKey> instance,
6833 std::shared_ptr<E> enhancement
6835 instance_(instance),
6836 enhancement_(enhancement) {
6840 virtual ~EnhancedKey() =
default;
6843 std::shared_ptr<types::IKey> instance_;
6844 std::shared_ptr<E> enhancement_;
6848class EnhancedLangStringNameType
6850 virtual public IEnhanced<E> {
6856 const std::wstring& language()
const override {
6857 return instance_->language();
6860 std::wstring& mutable_language()
override {
6861 return instance_->mutable_language();
6867 instance_->set_language(value);
6870 const std::wstring& text()
const override {
6871 return instance_->text();
6874 std::wstring& mutable_text()
override {
6875 return instance_->mutable_text();
6881 instance_->set_text(value);
6884 const std::shared_ptr<E>& enhancement()
const {
6885 return enhancement_;
6888 std::shared_ptr<E>& mutable_enhancement() {
6889 return enhancement_;
6892 void set_enhancement(
6893 std::shared_ptr<E> value
6895 enhancement_ = std::move(value);
6898 EnhancedLangStringNameType(
6899 std::shared_ptr<types::ILangStringNameType> instance,
6900 std::shared_ptr<E> enhancement
6902 instance_(instance),
6903 enhancement_(enhancement) {
6907 virtual ~EnhancedLangStringNameType() =
default;
6910 std::shared_ptr<types::ILangStringNameType> instance_;
6911 std::shared_ptr<E> enhancement_;
6915class EnhancedLangStringTextType
6917 virtual public IEnhanced<E> {
6923 const std::wstring& language()
const override {
6924 return instance_->language();
6927 std::wstring& mutable_language()
override {
6928 return instance_->mutable_language();
6934 instance_->set_language(value);
6937 const std::wstring& text()
const override {
6938 return instance_->text();
6941 std::wstring& mutable_text()
override {
6942 return instance_->mutable_text();
6948 instance_->set_text(value);
6951 const std::shared_ptr<E>& enhancement()
const {
6952 return enhancement_;
6955 std::shared_ptr<E>& mutable_enhancement() {
6956 return enhancement_;
6959 void set_enhancement(
6960 std::shared_ptr<E> value
6962 enhancement_ = std::move(value);
6965 EnhancedLangStringTextType(
6966 std::shared_ptr<types::ILangStringTextType> instance,
6967 std::shared_ptr<E> enhancement
6969 instance_(instance),
6970 enhancement_(enhancement) {
6974 virtual ~EnhancedLangStringTextType() =
default;
6977 std::shared_ptr<types::ILangStringTextType> instance_;
6978 std::shared_ptr<E> enhancement_;
6982class EnhancedEnvironment
6984 virtual public IEnhanced<E> {
6990 const common::optional<
6992 std::shared_ptr<types::IAssetAdministrationShell>
6994 >& asset_administration_shells()
const override {
6995 return instance_->asset_administration_shells();
7000 std::shared_ptr<types::IAssetAdministrationShell>
7002 >& mutable_asset_administration_shells()
override {
7003 return instance_->mutable_asset_administration_shells();
7006 void set_asset_administration_shells(
7009 std::shared_ptr<types::IAssetAdministrationShell>
7013 instance_->set_asset_administration_shells(value);
7016 const common::optional<
7018 std::shared_ptr<types::ISubmodel>
7020 >& submodels()
const override {
7021 return instance_->submodels();
7026 std::shared_ptr<types::ISubmodel>
7028 >& mutable_submodels()
override {
7029 return instance_->mutable_submodels();
7035 std::shared_ptr<types::ISubmodel>
7039 instance_->set_submodels(value);
7042 const common::optional<
7044 std::shared_ptr<types::IConceptDescription>
7046 >& concept_descriptions()
const override {
7047 return instance_->concept_descriptions();
7052 std::shared_ptr<types::IConceptDescription>
7054 >& mutable_concept_descriptions()
override {
7055 return instance_->mutable_concept_descriptions();
7058 void set_concept_descriptions(
7061 std::shared_ptr<types::IConceptDescription>
7065 instance_->set_concept_descriptions(value);
7068 const std::shared_ptr<E>& enhancement()
const {
7069 return enhancement_;
7072 std::shared_ptr<E>& mutable_enhancement() {
7073 return enhancement_;
7076 void set_enhancement(
7077 std::shared_ptr<E> value
7079 enhancement_ = std::move(value);
7082 EnhancedEnvironment(
7083 std::shared_ptr<types::IEnvironment> instance,
7084 std::shared_ptr<E> enhancement
7086 instance_(instance),
7087 enhancement_(enhancement) {
7091 virtual ~EnhancedEnvironment() =
default;
7094 std::shared_ptr<types::IEnvironment> instance_;
7095 std::shared_ptr<E> enhancement_;
7099class EnhancedEmbeddedDataSpecification
7101 virtual public IEnhanced<E> {
7107 const std::shared_ptr<types::IReference>& data_specification()
const override {
7108 return instance_->data_specification();
7111 std::shared_ptr<types::IReference>& mutable_data_specification()
override {
7112 return instance_->mutable_data_specification();
7115 void set_data_specification(
7116 std::shared_ptr<types::IReference> value
7118 instance_->set_data_specification(value);
7121 const std::shared_ptr<types::IDataSpecificationContent>& data_specification_content()
const override {
7122 return instance_->data_specification_content();
7125 std::shared_ptr<types::IDataSpecificationContent>& mutable_data_specification_content()
override {
7126 return instance_->mutable_data_specification_content();
7129 void set_data_specification_content(
7130 std::shared_ptr<types::IDataSpecificationContent> value
7132 instance_->set_data_specification_content(value);
7135 const std::shared_ptr<E>& enhancement()
const {
7136 return enhancement_;
7139 std::shared_ptr<E>& mutable_enhancement() {
7140 return enhancement_;
7143 void set_enhancement(
7144 std::shared_ptr<E> value
7146 enhancement_ = std::move(value);
7149 EnhancedEmbeddedDataSpecification(
7150 std::shared_ptr<types::IEmbeddedDataSpecification> instance,
7151 std::shared_ptr<E> enhancement
7153 instance_(instance),
7154 enhancement_(enhancement) {
7158 virtual ~EnhancedEmbeddedDataSpecification() =
default;
7161 std::shared_ptr<types::IEmbeddedDataSpecification> instance_;
7162 std::shared_ptr<E> enhancement_;
7166class EnhancedLevelType
7168 virtual public IEnhanced<E> {
7174 bool min()
const override {
7175 return instance_->min();
7178 bool& mutable_min()
override {
7179 return instance_->mutable_min();
7185 instance_->set_min(value);
7188 bool nom()
const override {
7189 return instance_->nom();
7192 bool& mutable_nom()
override {
7193 return instance_->mutable_nom();
7199 instance_->set_nom(value);
7202 bool typ()
const override {
7203 return instance_->typ();
7206 bool& mutable_typ()
override {
7207 return instance_->mutable_typ();
7213 instance_->set_typ(value);
7216 bool max()
const override {
7217 return instance_->max();
7220 bool& mutable_max()
override {
7221 return instance_->mutable_max();
7227 instance_->set_max(value);
7230 const std::shared_ptr<E>& enhancement()
const {
7231 return enhancement_;
7234 std::shared_ptr<E>& mutable_enhancement() {
7235 return enhancement_;
7238 void set_enhancement(
7239 std::shared_ptr<E> value
7241 enhancement_ = std::move(value);
7245 std::shared_ptr<types::ILevelType> instance,
7246 std::shared_ptr<E> enhancement
7248 instance_(instance),
7249 enhancement_(enhancement) {
7253 virtual ~EnhancedLevelType() =
default;
7256 std::shared_ptr<types::ILevelType> instance_;
7257 std::shared_ptr<E> enhancement_;
7261class EnhancedValueReferencePair
7263 virtual public IEnhanced<E> {
7269 const std::wstring& value()
const override {
7270 return instance_->value();
7273 std::wstring& mutable_value()
override {
7274 return instance_->mutable_value();
7280 instance_->set_value(value);
7283 const std::shared_ptr<types::IReference>& value_id()
const override {
7284 return instance_->value_id();
7287 std::shared_ptr<types::IReference>& mutable_value_id()
override {
7288 return instance_->mutable_value_id();
7292 std::shared_ptr<types::IReference> value
7294 instance_->set_value_id(value);
7297 const std::shared_ptr<E>& enhancement()
const {
7298 return enhancement_;
7301 std::shared_ptr<E>& mutable_enhancement() {
7302 return enhancement_;
7305 void set_enhancement(
7306 std::shared_ptr<E> value
7308 enhancement_ = std::move(value);
7311 EnhancedValueReferencePair(
7312 std::shared_ptr<types::IValueReferencePair> instance,
7313 std::shared_ptr<E> enhancement
7315 instance_(instance),
7316 enhancement_(enhancement) {
7320 virtual ~EnhancedValueReferencePair() =
default;
7323 std::shared_ptr<types::IValueReferencePair> instance_;
7324 std::shared_ptr<E> enhancement_;
7328class EnhancedValueList
7330 virtual public IEnhanced<E> {
7337 std::shared_ptr<types::IValueReferencePair>
7338 >& value_reference_pairs()
const override {
7339 return instance_->value_reference_pairs();
7343 std::shared_ptr<types::IValueReferencePair>
7344 >& mutable_value_reference_pairs()
override {
7345 return instance_->mutable_value_reference_pairs();
7348 void set_value_reference_pairs(
7350 std::shared_ptr<types::IValueReferencePair>
7353 instance_->set_value_reference_pairs(value);
7356 const std::shared_ptr<E>& enhancement()
const {
7357 return enhancement_;
7360 std::shared_ptr<E>& mutable_enhancement() {
7361 return enhancement_;
7364 void set_enhancement(
7365 std::shared_ptr<E> value
7367 enhancement_ = std::move(value);
7371 std::shared_ptr<types::IValueList> instance,
7372 std::shared_ptr<E> enhancement
7374 instance_(instance),
7375 enhancement_(enhancement) {
7379 virtual ~EnhancedValueList() =
default;
7382 std::shared_ptr<types::IValueList> instance_;
7383 std::shared_ptr<E> enhancement_;
7387class EnhancedLangStringPreferredNameTypeIec61360
7389 virtual public IEnhanced<E> {
7395 const std::wstring& language()
const override {
7396 return instance_->language();
7399 std::wstring& mutable_language()
override {
7400 return instance_->mutable_language();
7406 instance_->set_language(value);
7409 const std::wstring& text()
const override {
7410 return instance_->text();
7413 std::wstring& mutable_text()
override {
7414 return instance_->mutable_text();
7420 instance_->set_text(value);
7423 const std::shared_ptr<E>& enhancement()
const {
7424 return enhancement_;
7427 std::shared_ptr<E>& mutable_enhancement() {
7428 return enhancement_;
7431 void set_enhancement(
7432 std::shared_ptr<E> value
7434 enhancement_ = std::move(value);
7437 EnhancedLangStringPreferredNameTypeIec61360(
7438 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360> instance,
7439 std::shared_ptr<E> enhancement
7441 instance_(instance),
7442 enhancement_(enhancement) {
7446 virtual ~EnhancedLangStringPreferredNameTypeIec61360() =
default;
7449 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360> instance_;
7450 std::shared_ptr<E> enhancement_;
7454class EnhancedLangStringShortNameTypeIec61360
7456 virtual public IEnhanced<E> {
7462 const std::wstring& language()
const override {
7463 return instance_->language();
7466 std::wstring& mutable_language()
override {
7467 return instance_->mutable_language();
7473 instance_->set_language(value);
7476 const std::wstring& text()
const override {
7477 return instance_->text();
7480 std::wstring& mutable_text()
override {
7481 return instance_->mutable_text();
7487 instance_->set_text(value);
7490 const std::shared_ptr<E>& enhancement()
const {
7491 return enhancement_;
7494 std::shared_ptr<E>& mutable_enhancement() {
7495 return enhancement_;
7498 void set_enhancement(
7499 std::shared_ptr<E> value
7501 enhancement_ = std::move(value);
7504 EnhancedLangStringShortNameTypeIec61360(
7505 std::shared_ptr<types::ILangStringShortNameTypeIec61360> instance,
7506 std::shared_ptr<E> enhancement
7508 instance_(instance),
7509 enhancement_(enhancement) {
7513 virtual ~EnhancedLangStringShortNameTypeIec61360() =
default;
7516 std::shared_ptr<types::ILangStringShortNameTypeIec61360> instance_;
7517 std::shared_ptr<E> enhancement_;
7521class EnhancedLangStringDefinitionTypeIec61360
7523 virtual public IEnhanced<E> {
7529 const std::wstring& language()
const override {
7530 return instance_->language();
7533 std::wstring& mutable_language()
override {
7534 return instance_->mutable_language();
7540 instance_->set_language(value);
7543 const std::wstring& text()
const override {
7544 return instance_->text();
7547 std::wstring& mutable_text()
override {
7548 return instance_->mutable_text();
7554 instance_->set_text(value);
7557 const std::shared_ptr<E>& enhancement()
const {
7558 return enhancement_;
7561 std::shared_ptr<E>& mutable_enhancement() {
7562 return enhancement_;
7565 void set_enhancement(
7566 std::shared_ptr<E> value
7568 enhancement_ = std::move(value);
7571 EnhancedLangStringDefinitionTypeIec61360(
7572 std::shared_ptr<types::ILangStringDefinitionTypeIec61360> instance,
7573 std::shared_ptr<E> enhancement
7575 instance_(instance),
7576 enhancement_(enhancement) {
7580 virtual ~EnhancedLangStringDefinitionTypeIec61360() =
default;
7583 std::shared_ptr<types::ILangStringDefinitionTypeIec61360> instance_;
7584 std::shared_ptr<E> enhancement_;
7588class EnhancedDataSpecificationIec61360
7589 :
virtual public types::IDataSpecificationIec61360,
7590 virtual public IEnhanced<E> {
7597 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
7598 >& preferred_name()
const override {
7599 return instance_->preferred_name();
7603 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
7604 >& mutable_preferred_name()
override {
7605 return instance_->mutable_preferred_name();
7608 void set_preferred_name(
7610 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
7613 instance_->set_preferred_name(value);
7616 const common::optional<
7618 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
7620 >& short_name()
const override {
7621 return instance_->short_name();
7626 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
7628 >& mutable_short_name()
override {
7629 return instance_->mutable_short_name();
7632 void set_short_name(
7635 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
7639 instance_->set_short_name(value);
7642 const common::optional<std::wstring>& unit()
const override {
7643 return instance_->unit();
7646 common::optional<std::wstring>& mutable_unit()
override {
7647 return instance_->mutable_unit();
7651 common::optional<std::wstring> value
7653 instance_->set_unit(value);
7656 const common::optional<
7657 std::shared_ptr<types::IReference>
7658 >& unit_id()
const override {
7659 return instance_->unit_id();
7663 std::shared_ptr<types::IReference>
7664 >& mutable_unit_id()
override {
7665 return instance_->mutable_unit_id();
7670 std::shared_ptr<types::IReference>
7673 instance_->set_unit_id(value);
7676 const common::optional<std::wstring>& source_of_definition()
const override {
7677 return instance_->source_of_definition();
7680 common::optional<std::wstring>& mutable_source_of_definition()
override {
7681 return instance_->mutable_source_of_definition();
7684 void set_source_of_definition(
7685 common::optional<std::wstring> value
7687 instance_->set_source_of_definition(value);
7690 const common::optional<std::wstring>& symbol()
const override {
7691 return instance_->symbol();
7694 common::optional<std::wstring>& mutable_symbol()
override {
7695 return instance_->mutable_symbol();
7699 common::optional<std::wstring> value
7701 instance_->set_symbol(value);
7704 const common::optional<types::DataTypeIec61360>& data_type()
const override {
7705 return instance_->data_type();
7708 common::optional<types::DataTypeIec61360>& mutable_data_type()
override {
7709 return instance_->mutable_data_type();
7713 common::optional<types::DataTypeIec61360> value
7715 instance_->set_data_type(value);
7718 const common::optional<
7720 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
7722 >& definition()
const override {
7723 return instance_->definition();
7728 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
7730 >& mutable_definition()
override {
7731 return instance_->mutable_definition();
7734 void set_definition(
7737 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
7741 instance_->set_definition(value);
7744 const common::optional<std::wstring>& value_format()
const override {
7745 return instance_->value_format();
7748 common::optional<std::wstring>& mutable_value_format()
override {
7749 return instance_->mutable_value_format();
7752 void set_value_format(
7753 common::optional<std::wstring> value
7755 instance_->set_value_format(value);
7758 const common::optional<
7759 std::shared_ptr<types::IValueList>
7760 >& value_list()
const override {
7761 return instance_->value_list();
7765 std::shared_ptr<types::IValueList>
7766 >& mutable_value_list()
override {
7767 return instance_->mutable_value_list();
7770 void set_value_list(
7772 std::shared_ptr<types::IValueList>
7775 instance_->set_value_list(value);
7778 const common::optional<std::wstring>& value()
const override {
7779 return instance_->value();
7782 common::optional<std::wstring>& mutable_value()
override {
7783 return instance_->mutable_value();
7787 common::optional<std::wstring> value
7789 instance_->set_value(value);
7792 const common::optional<
7793 std::shared_ptr<types::ILevelType>
7794 >& level_type()
const override {
7795 return instance_->level_type();
7799 std::shared_ptr<types::ILevelType>
7800 >& mutable_level_type()
override {
7801 return instance_->mutable_level_type();
7804 void set_level_type(
7806 std::shared_ptr<types::ILevelType>
7809 instance_->set_level_type(value);
7812 const std::shared_ptr<E>& enhancement()
const {
7813 return enhancement_;
7816 std::shared_ptr<E>& mutable_enhancement() {
7817 return enhancement_;
7820 void set_enhancement(
7821 std::shared_ptr<E> value
7823 enhancement_ = std::move(value);
7826 EnhancedDataSpecificationIec61360(
7827 std::shared_ptr<types::IDataSpecificationIec61360> instance,
7828 std::shared_ptr<E> enhancement
7830 instance_(instance),
7831 enhancement_(enhancement) {
7835 virtual ~EnhancedDataSpecificationIec61360() =
default;
7838 std::shared_ptr<types::IDataSpecificationIec61360> instance_;
7839 std::shared_ptr<E> enhancement_;
7852std::shared_ptr<types::IExtension> WrapExtension(
7853 const std::shared_ptr<types::IExtension>& that,
7854 const std::function<
7856 const std::shared_ptr<types::IClass>&
7863 if (that->semantic_id().has_value()) {
7864 const std::shared_ptr<types::IReference>& value(
7865 that->semantic_id().value()
7877 that->set_semantic_id(
7878 common::make_optional(
7884 if (that->supplemental_semantic_ids().has_value()) {
7886 std::shared_ptr<types::IReference>
7888 that->supplemental_semantic_ids().value()
7890 const std::size_t size = value.size();
7893 std::shared_ptr<types::IReference>
7895 wrapped.reserve(size);
7898 const std::shared_ptr<types::IReference>& item
7901 wrapped.emplace_back(
7909 that->set_supplemental_semantic_ids(
7910 common::make_optional(
7916 if (that->refers_to().has_value()) {
7918 std::shared_ptr<types::IReference>
7920 that->refers_to().value()
7922 const std::size_t size = value.size();
7925 std::shared_ptr<types::IReference>
7927 wrapped.reserve(size);
7930 const std::shared_ptr<types::IReference>& item
7933 wrapped.emplace_back(
7941 that->set_refers_to(
7942 common::make_optional(
7948 std::shared_ptr<E> enh(
7951 return (enh ==
nullptr)
7953 : std::shared_ptr<types::IExtension>(
7954 new EnhancedExtension<E>(
7971std::shared_ptr<types::IAdministrativeInformation> WrapAdministrativeInformation(
7972 const std::shared_ptr<types::IAdministrativeInformation>& that,
7973 const std::function<
7975 const std::shared_ptr<types::IClass>&
7982 if (that->embedded_data_specifications().has_value()) {
7984 std::shared_ptr<types::IEmbeddedDataSpecification>
7986 that->embedded_data_specifications().value()
7988 const std::size_t size = value.size();
7991 std::shared_ptr<types::IEmbeddedDataSpecification>
7993 wrapped.reserve(size);
7996 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
7999 wrapped.emplace_back(
8007 that->set_embedded_data_specifications(
8008 common::make_optional(
8014 if (that->creator().has_value()) {
8015 const std::shared_ptr<types::IReference>& value(
8016 that->creator().value()
8029 common::make_optional(
8035 std::shared_ptr<E> enh(
8038 return (enh ==
nullptr)
8040 : std::shared_ptr<types::IAdministrativeInformation>(
8041 new EnhancedAdministrativeInformation<E>(
8058std::shared_ptr<types::IQualifier> WrapQualifier(
8059 const std::shared_ptr<types::IQualifier>& that,
8060 const std::function<
8062 const std::shared_ptr<types::IClass>&
8069 if (that->semantic_id().has_value()) {
8070 const std::shared_ptr<types::IReference>& value(
8071 that->semantic_id().value()
8083 that->set_semantic_id(
8084 common::make_optional(
8090 if (that->supplemental_semantic_ids().has_value()) {
8092 std::shared_ptr<types::IReference>
8094 that->supplemental_semantic_ids().value()
8096 const std::size_t size = value.size();
8099 std::shared_ptr<types::IReference>
8101 wrapped.reserve(size);
8104 const std::shared_ptr<types::IReference>& item
8107 wrapped.emplace_back(
8115 that->set_supplemental_semantic_ids(
8116 common::make_optional(
8122 if (that->value_id().has_value()) {
8123 const std::shared_ptr<types::IReference>& value(
8124 that->value_id().value()
8137 common::make_optional(
8143 std::shared_ptr<E> enh(
8146 return (enh ==
nullptr)
8148 : std::shared_ptr<types::IQualifier>(
8149 new EnhancedQualifier<E>(
8166std::shared_ptr<types::IAssetAdministrationShell> WrapAssetAdministrationShell(
8167 const std::shared_ptr<types::IAssetAdministrationShell>& that,
8168 const std::function<
8170 const std::shared_ptr<types::IClass>&
8177 if (that->extensions().has_value()) {
8179 std::shared_ptr<types::IExtension>
8181 that->extensions().value()
8183 const std::size_t size = value.size();
8186 std::shared_ptr<types::IExtension>
8188 wrapped.reserve(size);
8191 const std::shared_ptr<types::IExtension>& item
8194 wrapped.emplace_back(
8202 that->set_extensions(
8203 common::make_optional(
8209 if (that->display_name().has_value()) {
8211 std::shared_ptr<types::ILangStringNameType>
8213 that->display_name().value()
8215 const std::size_t size = value.size();
8218 std::shared_ptr<types::ILangStringNameType>
8220 wrapped.reserve(size);
8223 const std::shared_ptr<types::ILangStringNameType>& item
8226 wrapped.emplace_back(
8234 that->set_display_name(
8235 common::make_optional(
8241 if (that->description().has_value()) {
8243 std::shared_ptr<types::ILangStringTextType>
8245 that->description().value()
8247 const std::size_t size = value.size();
8250 std::shared_ptr<types::ILangStringTextType>
8252 wrapped.reserve(size);
8255 const std::shared_ptr<types::ILangStringTextType>& item
8258 wrapped.emplace_back(
8266 that->set_description(
8267 common::make_optional(
8273 if (that->administration().has_value()) {
8274 const std::shared_ptr<types::IAdministrativeInformation>& value(
8275 that->administration().value()
8287 that->set_administration(
8288 common::make_optional(
8294 if (that->embedded_data_specifications().has_value()) {
8296 std::shared_ptr<types::IEmbeddedDataSpecification>
8298 that->embedded_data_specifications().value()
8300 const std::size_t size = value.size();
8303 std::shared_ptr<types::IEmbeddedDataSpecification>
8305 wrapped.reserve(size);
8308 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
8311 wrapped.emplace_back(
8319 that->set_embedded_data_specifications(
8320 common::make_optional(
8326 if (that->derived_from().has_value()) {
8327 const std::shared_ptr<types::IReference>& value(
8328 that->derived_from().value()
8340 that->set_derived_from(
8341 common::make_optional(
8347 that->set_asset_information(
8349 that->asset_information(),
8354 if (that->submodels().has_value()) {
8356 std::shared_ptr<types::IReference>
8358 that->submodels().value()
8360 const std::size_t size = value.size();
8363 std::shared_ptr<types::IReference>
8365 wrapped.reserve(size);
8368 const std::shared_ptr<types::IReference>& item
8371 wrapped.emplace_back(
8379 that->set_submodels(
8380 common::make_optional(
8386 std::shared_ptr<E> enh(
8389 return (enh ==
nullptr)
8391 : std::shared_ptr<types::IAssetAdministrationShell>(
8392 new EnhancedAssetAdministrationShell<E>(
8409std::shared_ptr<types::IAssetInformation> WrapAssetInformation(
8410 const std::shared_ptr<types::IAssetInformation>& that,
8411 const std::function<
8413 const std::shared_ptr<types::IClass>&
8420 if (that->specific_asset_ids().has_value()) {
8422 std::shared_ptr<types::ISpecificAssetId>
8424 that->specific_asset_ids().value()
8426 const std::size_t size = value.size();
8429 std::shared_ptr<types::ISpecificAssetId>
8431 wrapped.reserve(size);
8434 const std::shared_ptr<types::ISpecificAssetId>& item
8437 wrapped.emplace_back(
8445 that->set_specific_asset_ids(
8446 common::make_optional(
8452 if (that->default_thumbnail().has_value()) {
8453 const std::shared_ptr<types::IResource>& value(
8454 that->default_thumbnail().value()
8466 that->set_default_thumbnail(
8467 common::make_optional(
8473 std::shared_ptr<E> enh(
8476 return (enh ==
nullptr)
8478 : std::shared_ptr<types::IAssetInformation>(
8479 new EnhancedAssetInformation<E>(
8496std::shared_ptr<types::IResource> WrapResource(
8497 const std::shared_ptr<types::IResource>& that,
8498 const std::function<
8500 const std::shared_ptr<types::IClass>&
8509 std::shared_ptr<E> enh(
8512 return (enh ==
nullptr)
8514 : std::shared_ptr<types::IResource>(
8515 new EnhancedResource<E>(
8532std::shared_ptr<types::ISpecificAssetId> WrapSpecificAssetId(
8533 const std::shared_ptr<types::ISpecificAssetId>& that,
8534 const std::function<
8536 const std::shared_ptr<types::IClass>&
8543 if (that->semantic_id().has_value()) {
8544 const std::shared_ptr<types::IReference>& value(
8545 that->semantic_id().value()
8557 that->set_semantic_id(
8558 common::make_optional(
8564 if (that->supplemental_semantic_ids().has_value()) {
8566 std::shared_ptr<types::IReference>
8568 that->supplemental_semantic_ids().value()
8570 const std::size_t size = value.size();
8573 std::shared_ptr<types::IReference>
8575 wrapped.reserve(size);
8578 const std::shared_ptr<types::IReference>& item
8581 wrapped.emplace_back(
8589 that->set_supplemental_semantic_ids(
8590 common::make_optional(
8596 if (that->external_subject_id().has_value()) {
8597 const std::shared_ptr<types::IReference>& value(
8598 that->external_subject_id().value()
8610 that->set_external_subject_id(
8611 common::make_optional(
8617 std::shared_ptr<E> enh(
8620 return (enh ==
nullptr)
8622 : std::shared_ptr<types::ISpecificAssetId>(
8623 new EnhancedSpecificAssetId<E>(
8640std::shared_ptr<types::ISubmodel> WrapSubmodel(
8641 const std::shared_ptr<types::ISubmodel>& that,
8642 const std::function<
8644 const std::shared_ptr<types::IClass>&
8651 if (that->extensions().has_value()) {
8653 std::shared_ptr<types::IExtension>
8655 that->extensions().value()
8657 const std::size_t size = value.size();
8660 std::shared_ptr<types::IExtension>
8662 wrapped.reserve(size);
8665 const std::shared_ptr<types::IExtension>& item
8668 wrapped.emplace_back(
8676 that->set_extensions(
8677 common::make_optional(
8683 if (that->display_name().has_value()) {
8685 std::shared_ptr<types::ILangStringNameType>
8687 that->display_name().value()
8689 const std::size_t size = value.size();
8692 std::shared_ptr<types::ILangStringNameType>
8694 wrapped.reserve(size);
8697 const std::shared_ptr<types::ILangStringNameType>& item
8700 wrapped.emplace_back(
8708 that->set_display_name(
8709 common::make_optional(
8715 if (that->description().has_value()) {
8717 std::shared_ptr<types::ILangStringTextType>
8719 that->description().value()
8721 const std::size_t size = value.size();
8724 std::shared_ptr<types::ILangStringTextType>
8726 wrapped.reserve(size);
8729 const std::shared_ptr<types::ILangStringTextType>& item
8732 wrapped.emplace_back(
8740 that->set_description(
8741 common::make_optional(
8747 if (that->administration().has_value()) {
8748 const std::shared_ptr<types::IAdministrativeInformation>& value(
8749 that->administration().value()
8761 that->set_administration(
8762 common::make_optional(
8768 if (that->semantic_id().has_value()) {
8769 const std::shared_ptr<types::IReference>& value(
8770 that->semantic_id().value()
8782 that->set_semantic_id(
8783 common::make_optional(
8789 if (that->supplemental_semantic_ids().has_value()) {
8791 std::shared_ptr<types::IReference>
8793 that->supplemental_semantic_ids().value()
8795 const std::size_t size = value.size();
8798 std::shared_ptr<types::IReference>
8800 wrapped.reserve(size);
8803 const std::shared_ptr<types::IReference>& item
8806 wrapped.emplace_back(
8814 that->set_supplemental_semantic_ids(
8815 common::make_optional(
8821 if (that->qualifiers().has_value()) {
8823 std::shared_ptr<types::IQualifier>
8825 that->qualifiers().value()
8827 const std::size_t size = value.size();
8830 std::shared_ptr<types::IQualifier>
8832 wrapped.reserve(size);
8835 const std::shared_ptr<types::IQualifier>& item
8838 wrapped.emplace_back(
8846 that->set_qualifiers(
8847 common::make_optional(
8853 if (that->embedded_data_specifications().has_value()) {
8855 std::shared_ptr<types::IEmbeddedDataSpecification>
8857 that->embedded_data_specifications().value()
8859 const std::size_t size = value.size();
8862 std::shared_ptr<types::IEmbeddedDataSpecification>
8864 wrapped.reserve(size);
8867 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
8870 wrapped.emplace_back(
8878 that->set_embedded_data_specifications(
8879 common::make_optional(
8885 if (that->submodel_elements().has_value()) {
8887 std::shared_ptr<types::ISubmodelElement>
8889 that->submodel_elements().value()
8891 const std::size_t size = value.size();
8894 std::shared_ptr<types::ISubmodelElement>
8896 wrapped.reserve(size);
8899 const std::shared_ptr<types::ISubmodelElement>& item
8902 wrapped.emplace_back(
8910 that->set_submodel_elements(
8911 common::make_optional(
8917 std::shared_ptr<E> enh(
8920 return (enh ==
nullptr)
8922 : std::shared_ptr<types::ISubmodel>(
8923 new EnhancedSubmodel<E>(
8940std::shared_ptr<types::IRelationshipElement> WrapRelationshipElement(
8941 const std::shared_ptr<types::IRelationshipElement>& that,
8942 const std::function<
8944 const std::shared_ptr<types::IClass>&
8951 if (that->extensions().has_value()) {
8953 std::shared_ptr<types::IExtension>
8955 that->extensions().value()
8957 const std::size_t size = value.size();
8960 std::shared_ptr<types::IExtension>
8962 wrapped.reserve(size);
8965 const std::shared_ptr<types::IExtension>& item
8968 wrapped.emplace_back(
8976 that->set_extensions(
8977 common::make_optional(
8983 if (that->display_name().has_value()) {
8985 std::shared_ptr<types::ILangStringNameType>
8987 that->display_name().value()
8989 const std::size_t size = value.size();
8992 std::shared_ptr<types::ILangStringNameType>
8994 wrapped.reserve(size);
8997 const std::shared_ptr<types::ILangStringNameType>& item
9000 wrapped.emplace_back(
9008 that->set_display_name(
9009 common::make_optional(
9015 if (that->description().has_value()) {
9017 std::shared_ptr<types::ILangStringTextType>
9019 that->description().value()
9021 const std::size_t size = value.size();
9024 std::shared_ptr<types::ILangStringTextType>
9026 wrapped.reserve(size);
9029 const std::shared_ptr<types::ILangStringTextType>& item
9032 wrapped.emplace_back(
9040 that->set_description(
9041 common::make_optional(
9047 if (that->semantic_id().has_value()) {
9048 const std::shared_ptr<types::IReference>& value(
9049 that->semantic_id().value()
9061 that->set_semantic_id(
9062 common::make_optional(
9068 if (that->supplemental_semantic_ids().has_value()) {
9070 std::shared_ptr<types::IReference>
9072 that->supplemental_semantic_ids().value()
9074 const std::size_t size = value.size();
9077 std::shared_ptr<types::IReference>
9079 wrapped.reserve(size);
9082 const std::shared_ptr<types::IReference>& item
9085 wrapped.emplace_back(
9093 that->set_supplemental_semantic_ids(
9094 common::make_optional(
9100 if (that->qualifiers().has_value()) {
9102 std::shared_ptr<types::IQualifier>
9104 that->qualifiers().value()
9106 const std::size_t size = value.size();
9109 std::shared_ptr<types::IQualifier>
9111 wrapped.reserve(size);
9114 const std::shared_ptr<types::IQualifier>& item
9117 wrapped.emplace_back(
9125 that->set_qualifiers(
9126 common::make_optional(
9132 if (that->embedded_data_specifications().has_value()) {
9134 std::shared_ptr<types::IEmbeddedDataSpecification>
9136 that->embedded_data_specifications().value()
9138 const std::size_t size = value.size();
9141 std::shared_ptr<types::IEmbeddedDataSpecification>
9143 wrapped.reserve(size);
9146 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9149 wrapped.emplace_back(
9157 that->set_embedded_data_specifications(
9158 common::make_optional(
9178 std::shared_ptr<E> enh(
9181 return (enh ==
nullptr)
9183 : std::shared_ptr<types::IRelationshipElement>(
9184 new EnhancedRelationshipElement<E>(
9201std::shared_ptr<types::ISubmodelElementList> WrapSubmodelElementList(
9202 const std::shared_ptr<types::ISubmodelElementList>& that,
9203 const std::function<
9205 const std::shared_ptr<types::IClass>&
9212 if (that->extensions().has_value()) {
9214 std::shared_ptr<types::IExtension>
9216 that->extensions().value()
9218 const std::size_t size = value.size();
9221 std::shared_ptr<types::IExtension>
9223 wrapped.reserve(size);
9226 const std::shared_ptr<types::IExtension>& item
9229 wrapped.emplace_back(
9237 that->set_extensions(
9238 common::make_optional(
9244 if (that->display_name().has_value()) {
9246 std::shared_ptr<types::ILangStringNameType>
9248 that->display_name().value()
9250 const std::size_t size = value.size();
9253 std::shared_ptr<types::ILangStringNameType>
9255 wrapped.reserve(size);
9258 const std::shared_ptr<types::ILangStringNameType>& item
9261 wrapped.emplace_back(
9269 that->set_display_name(
9270 common::make_optional(
9276 if (that->description().has_value()) {
9278 std::shared_ptr<types::ILangStringTextType>
9280 that->description().value()
9282 const std::size_t size = value.size();
9285 std::shared_ptr<types::ILangStringTextType>
9287 wrapped.reserve(size);
9290 const std::shared_ptr<types::ILangStringTextType>& item
9293 wrapped.emplace_back(
9301 that->set_description(
9302 common::make_optional(
9308 if (that->semantic_id().has_value()) {
9309 const std::shared_ptr<types::IReference>& value(
9310 that->semantic_id().value()
9322 that->set_semantic_id(
9323 common::make_optional(
9329 if (that->supplemental_semantic_ids().has_value()) {
9331 std::shared_ptr<types::IReference>
9333 that->supplemental_semantic_ids().value()
9335 const std::size_t size = value.size();
9338 std::shared_ptr<types::IReference>
9340 wrapped.reserve(size);
9343 const std::shared_ptr<types::IReference>& item
9346 wrapped.emplace_back(
9354 that->set_supplemental_semantic_ids(
9355 common::make_optional(
9361 if (that->qualifiers().has_value()) {
9363 std::shared_ptr<types::IQualifier>
9365 that->qualifiers().value()
9367 const std::size_t size = value.size();
9370 std::shared_ptr<types::IQualifier>
9372 wrapped.reserve(size);
9375 const std::shared_ptr<types::IQualifier>& item
9378 wrapped.emplace_back(
9386 that->set_qualifiers(
9387 common::make_optional(
9393 if (that->embedded_data_specifications().has_value()) {
9395 std::shared_ptr<types::IEmbeddedDataSpecification>
9397 that->embedded_data_specifications().value()
9399 const std::size_t size = value.size();
9402 std::shared_ptr<types::IEmbeddedDataSpecification>
9404 wrapped.reserve(size);
9407 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9410 wrapped.emplace_back(
9418 that->set_embedded_data_specifications(
9419 common::make_optional(
9425 if (that->semantic_id_list_element().has_value()) {
9426 const std::shared_ptr<types::IReference>& value(
9427 that->semantic_id_list_element().value()
9439 that->set_semantic_id_list_element(
9440 common::make_optional(
9446 if (that->value().has_value()) {
9448 std::shared_ptr<types::ISubmodelElement>
9450 that->value().value()
9452 const std::size_t size = value.size();
9455 std::shared_ptr<types::ISubmodelElement>
9457 wrapped.reserve(size);
9460 const std::shared_ptr<types::ISubmodelElement>& item
9463 wrapped.emplace_back(
9472 common::make_optional(
9478 std::shared_ptr<E> enh(
9481 return (enh ==
nullptr)
9483 : std::shared_ptr<types::ISubmodelElementList>(
9484 new EnhancedSubmodelElementList<E>(
9501std::shared_ptr<types::ISubmodelElementCollection> WrapSubmodelElementCollection(
9502 const std::shared_ptr<types::ISubmodelElementCollection>& that,
9503 const std::function<
9505 const std::shared_ptr<types::IClass>&
9512 if (that->extensions().has_value()) {
9514 std::shared_ptr<types::IExtension>
9516 that->extensions().value()
9518 const std::size_t size = value.size();
9521 std::shared_ptr<types::IExtension>
9523 wrapped.reserve(size);
9526 const std::shared_ptr<types::IExtension>& item
9529 wrapped.emplace_back(
9537 that->set_extensions(
9538 common::make_optional(
9544 if (that->display_name().has_value()) {
9546 std::shared_ptr<types::ILangStringNameType>
9548 that->display_name().value()
9550 const std::size_t size = value.size();
9553 std::shared_ptr<types::ILangStringNameType>
9555 wrapped.reserve(size);
9558 const std::shared_ptr<types::ILangStringNameType>& item
9561 wrapped.emplace_back(
9569 that->set_display_name(
9570 common::make_optional(
9576 if (that->description().has_value()) {
9578 std::shared_ptr<types::ILangStringTextType>
9580 that->description().value()
9582 const std::size_t size = value.size();
9585 std::shared_ptr<types::ILangStringTextType>
9587 wrapped.reserve(size);
9590 const std::shared_ptr<types::ILangStringTextType>& item
9593 wrapped.emplace_back(
9601 that->set_description(
9602 common::make_optional(
9608 if (that->semantic_id().has_value()) {
9609 const std::shared_ptr<types::IReference>& value(
9610 that->semantic_id().value()
9622 that->set_semantic_id(
9623 common::make_optional(
9629 if (that->supplemental_semantic_ids().has_value()) {
9631 std::shared_ptr<types::IReference>
9633 that->supplemental_semantic_ids().value()
9635 const std::size_t size = value.size();
9638 std::shared_ptr<types::IReference>
9640 wrapped.reserve(size);
9643 const std::shared_ptr<types::IReference>& item
9646 wrapped.emplace_back(
9654 that->set_supplemental_semantic_ids(
9655 common::make_optional(
9661 if (that->qualifiers().has_value()) {
9663 std::shared_ptr<types::IQualifier>
9665 that->qualifiers().value()
9667 const std::size_t size = value.size();
9670 std::shared_ptr<types::IQualifier>
9672 wrapped.reserve(size);
9675 const std::shared_ptr<types::IQualifier>& item
9678 wrapped.emplace_back(
9686 that->set_qualifiers(
9687 common::make_optional(
9693 if (that->embedded_data_specifications().has_value()) {
9695 std::shared_ptr<types::IEmbeddedDataSpecification>
9697 that->embedded_data_specifications().value()
9699 const std::size_t size = value.size();
9702 std::shared_ptr<types::IEmbeddedDataSpecification>
9704 wrapped.reserve(size);
9707 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9710 wrapped.emplace_back(
9718 that->set_embedded_data_specifications(
9719 common::make_optional(
9725 if (that->value().has_value()) {
9727 std::shared_ptr<types::ISubmodelElement>
9729 that->value().value()
9731 const std::size_t size = value.size();
9734 std::shared_ptr<types::ISubmodelElement>
9736 wrapped.reserve(size);
9739 const std::shared_ptr<types::ISubmodelElement>& item
9742 wrapped.emplace_back(
9751 common::make_optional(
9757 std::shared_ptr<E> enh(
9760 return (enh ==
nullptr)
9762 : std::shared_ptr<types::ISubmodelElementCollection>(
9763 new EnhancedSubmodelElementCollection<E>(
9780std::shared_ptr<types::IProperty> WrapProperty(
9781 const std::shared_ptr<types::IProperty>& that,
9782 const std::function<
9784 const std::shared_ptr<types::IClass>&
9791 if (that->extensions().has_value()) {
9793 std::shared_ptr<types::IExtension>
9795 that->extensions().value()
9797 const std::size_t size = value.size();
9800 std::shared_ptr<types::IExtension>
9802 wrapped.reserve(size);
9805 const std::shared_ptr<types::IExtension>& item
9808 wrapped.emplace_back(
9816 that->set_extensions(
9817 common::make_optional(
9823 if (that->display_name().has_value()) {
9825 std::shared_ptr<types::ILangStringNameType>
9827 that->display_name().value()
9829 const std::size_t size = value.size();
9832 std::shared_ptr<types::ILangStringNameType>
9834 wrapped.reserve(size);
9837 const std::shared_ptr<types::ILangStringNameType>& item
9840 wrapped.emplace_back(
9848 that->set_display_name(
9849 common::make_optional(
9855 if (that->description().has_value()) {
9857 std::shared_ptr<types::ILangStringTextType>
9859 that->description().value()
9861 const std::size_t size = value.size();
9864 std::shared_ptr<types::ILangStringTextType>
9866 wrapped.reserve(size);
9869 const std::shared_ptr<types::ILangStringTextType>& item
9872 wrapped.emplace_back(
9880 that->set_description(
9881 common::make_optional(
9887 if (that->semantic_id().has_value()) {
9888 const std::shared_ptr<types::IReference>& value(
9889 that->semantic_id().value()
9901 that->set_semantic_id(
9902 common::make_optional(
9908 if (that->supplemental_semantic_ids().has_value()) {
9910 std::shared_ptr<types::IReference>
9912 that->supplemental_semantic_ids().value()
9914 const std::size_t size = value.size();
9917 std::shared_ptr<types::IReference>
9919 wrapped.reserve(size);
9922 const std::shared_ptr<types::IReference>& item
9925 wrapped.emplace_back(
9933 that->set_supplemental_semantic_ids(
9934 common::make_optional(
9940 if (that->qualifiers().has_value()) {
9942 std::shared_ptr<types::IQualifier>
9944 that->qualifiers().value()
9946 const std::size_t size = value.size();
9949 std::shared_ptr<types::IQualifier>
9951 wrapped.reserve(size);
9954 const std::shared_ptr<types::IQualifier>& item
9957 wrapped.emplace_back(
9965 that->set_qualifiers(
9966 common::make_optional(
9972 if (that->embedded_data_specifications().has_value()) {
9974 std::shared_ptr<types::IEmbeddedDataSpecification>
9976 that->embedded_data_specifications().value()
9978 const std::size_t size = value.size();
9981 std::shared_ptr<types::IEmbeddedDataSpecification>
9983 wrapped.reserve(size);
9986 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9989 wrapped.emplace_back(
9997 that->set_embedded_data_specifications(
9998 common::make_optional(
10004 if (that->value_id().has_value()) {
10005 const std::shared_ptr<types::IReference>& value(
10006 that->value_id().value()
10018 that->set_value_id(
10019 common::make_optional(
10025 std::shared_ptr<E> enh(
10028 return (enh ==
nullptr)
10030 : std::shared_ptr<types::IProperty>(
10031 new EnhancedProperty<E>(
10047template<
typename E>
10048std::shared_ptr<types::IMultiLanguageProperty> WrapMultiLanguageProperty(
10049 const std::shared_ptr<types::IMultiLanguageProperty>& that,
10050 const std::function<
10051 std::shared_ptr<E>(
10052 const std::shared_ptr<types::IClass>&
10059 if (that->extensions().has_value()) {
10061 std::shared_ptr<types::IExtension>
10063 that->extensions().value()
10065 const std::size_t size = value.size();
10068 std::shared_ptr<types::IExtension>
10070 wrapped.reserve(size);
10073 const std::shared_ptr<types::IExtension>& item
10076 wrapped.emplace_back(
10084 that->set_extensions(
10085 common::make_optional(
10091 if (that->display_name().has_value()) {
10093 std::shared_ptr<types::ILangStringNameType>
10095 that->display_name().value()
10097 const std::size_t size = value.size();
10100 std::shared_ptr<types::ILangStringNameType>
10102 wrapped.reserve(size);
10105 const std::shared_ptr<types::ILangStringNameType>& item
10108 wrapped.emplace_back(
10116 that->set_display_name(
10117 common::make_optional(
10123 if (that->description().has_value()) {
10125 std::shared_ptr<types::ILangStringTextType>
10127 that->description().value()
10129 const std::size_t size = value.size();
10132 std::shared_ptr<types::ILangStringTextType>
10134 wrapped.reserve(size);
10137 const std::shared_ptr<types::ILangStringTextType>& item
10140 wrapped.emplace_back(
10148 that->set_description(
10149 common::make_optional(
10155 if (that->semantic_id().has_value()) {
10156 const std::shared_ptr<types::IReference>& value(
10157 that->semantic_id().value()
10169 that->set_semantic_id(
10170 common::make_optional(
10176 if (that->supplemental_semantic_ids().has_value()) {
10178 std::shared_ptr<types::IReference>
10180 that->supplemental_semantic_ids().value()
10182 const std::size_t size = value.size();
10185 std::shared_ptr<types::IReference>
10187 wrapped.reserve(size);
10190 const std::shared_ptr<types::IReference>& item
10193 wrapped.emplace_back(
10201 that->set_supplemental_semantic_ids(
10202 common::make_optional(
10208 if (that->qualifiers().has_value()) {
10210 std::shared_ptr<types::IQualifier>
10212 that->qualifiers().value()
10214 const std::size_t size = value.size();
10217 std::shared_ptr<types::IQualifier>
10219 wrapped.reserve(size);
10222 const std::shared_ptr<types::IQualifier>& item
10225 wrapped.emplace_back(
10233 that->set_qualifiers(
10234 common::make_optional(
10240 if (that->embedded_data_specifications().has_value()) {
10242 std::shared_ptr<types::IEmbeddedDataSpecification>
10244 that->embedded_data_specifications().value()
10246 const std::size_t size = value.size();
10249 std::shared_ptr<types::IEmbeddedDataSpecification>
10251 wrapped.reserve(size);
10254 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10257 wrapped.emplace_back(
10265 that->set_embedded_data_specifications(
10266 common::make_optional(
10272 if (that->value().has_value()) {
10274 std::shared_ptr<types::ILangStringTextType>
10276 that->value().value()
10278 const std::size_t size = value.size();
10281 std::shared_ptr<types::ILangStringTextType>
10283 wrapped.reserve(size);
10286 const std::shared_ptr<types::ILangStringTextType>& item
10289 wrapped.emplace_back(
10298 common::make_optional(
10304 if (that->value_id().has_value()) {
10305 const std::shared_ptr<types::IReference>& value(
10306 that->value_id().value()
10318 that->set_value_id(
10319 common::make_optional(
10325 std::shared_ptr<E> enh(
10328 return (enh ==
nullptr)
10330 : std::shared_ptr<types::IMultiLanguageProperty>(
10331 new EnhancedMultiLanguageProperty<E>(
10347template<
typename E>
10348std::shared_ptr<types::IRange> WrapRange(
10349 const std::shared_ptr<types::IRange>& that,
10350 const std::function<
10351 std::shared_ptr<E>(
10352 const std::shared_ptr<types::IClass>&
10359 if (that->extensions().has_value()) {
10361 std::shared_ptr<types::IExtension>
10363 that->extensions().value()
10365 const std::size_t size = value.size();
10368 std::shared_ptr<types::IExtension>
10370 wrapped.reserve(size);
10373 const std::shared_ptr<types::IExtension>& item
10376 wrapped.emplace_back(
10384 that->set_extensions(
10385 common::make_optional(
10391 if (that->display_name().has_value()) {
10393 std::shared_ptr<types::ILangStringNameType>
10395 that->display_name().value()
10397 const std::size_t size = value.size();
10400 std::shared_ptr<types::ILangStringNameType>
10402 wrapped.reserve(size);
10405 const std::shared_ptr<types::ILangStringNameType>& item
10408 wrapped.emplace_back(
10416 that->set_display_name(
10417 common::make_optional(
10423 if (that->description().has_value()) {
10425 std::shared_ptr<types::ILangStringTextType>
10427 that->description().value()
10429 const std::size_t size = value.size();
10432 std::shared_ptr<types::ILangStringTextType>
10434 wrapped.reserve(size);
10437 const std::shared_ptr<types::ILangStringTextType>& item
10440 wrapped.emplace_back(
10448 that->set_description(
10449 common::make_optional(
10455 if (that->semantic_id().has_value()) {
10456 const std::shared_ptr<types::IReference>& value(
10457 that->semantic_id().value()
10469 that->set_semantic_id(
10470 common::make_optional(
10476 if (that->supplemental_semantic_ids().has_value()) {
10478 std::shared_ptr<types::IReference>
10480 that->supplemental_semantic_ids().value()
10482 const std::size_t size = value.size();
10485 std::shared_ptr<types::IReference>
10487 wrapped.reserve(size);
10490 const std::shared_ptr<types::IReference>& item
10493 wrapped.emplace_back(
10501 that->set_supplemental_semantic_ids(
10502 common::make_optional(
10508 if (that->qualifiers().has_value()) {
10510 std::shared_ptr<types::IQualifier>
10512 that->qualifiers().value()
10514 const std::size_t size = value.size();
10517 std::shared_ptr<types::IQualifier>
10519 wrapped.reserve(size);
10522 const std::shared_ptr<types::IQualifier>& item
10525 wrapped.emplace_back(
10533 that->set_qualifiers(
10534 common::make_optional(
10540 if (that->embedded_data_specifications().has_value()) {
10542 std::shared_ptr<types::IEmbeddedDataSpecification>
10544 that->embedded_data_specifications().value()
10546 const std::size_t size = value.size();
10549 std::shared_ptr<types::IEmbeddedDataSpecification>
10551 wrapped.reserve(size);
10554 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10557 wrapped.emplace_back(
10565 that->set_embedded_data_specifications(
10566 common::make_optional(
10572 std::shared_ptr<E> enh(
10575 return (enh ==
nullptr)
10577 : std::shared_ptr<types::IRange>(
10578 new EnhancedRange<E>(
10594template<
typename E>
10595std::shared_ptr<types::IReferenceElement> WrapReferenceElement(
10596 const std::shared_ptr<types::IReferenceElement>& that,
10597 const std::function<
10598 std::shared_ptr<E>(
10599 const std::shared_ptr<types::IClass>&
10606 if (that->extensions().has_value()) {
10608 std::shared_ptr<types::IExtension>
10610 that->extensions().value()
10612 const std::size_t size = value.size();
10615 std::shared_ptr<types::IExtension>
10617 wrapped.reserve(size);
10620 const std::shared_ptr<types::IExtension>& item
10623 wrapped.emplace_back(
10631 that->set_extensions(
10632 common::make_optional(
10638 if (that->display_name().has_value()) {
10640 std::shared_ptr<types::ILangStringNameType>
10642 that->display_name().value()
10644 const std::size_t size = value.size();
10647 std::shared_ptr<types::ILangStringNameType>
10649 wrapped.reserve(size);
10652 const std::shared_ptr<types::ILangStringNameType>& item
10655 wrapped.emplace_back(
10663 that->set_display_name(
10664 common::make_optional(
10670 if (that->description().has_value()) {
10672 std::shared_ptr<types::ILangStringTextType>
10674 that->description().value()
10676 const std::size_t size = value.size();
10679 std::shared_ptr<types::ILangStringTextType>
10681 wrapped.reserve(size);
10684 const std::shared_ptr<types::ILangStringTextType>& item
10687 wrapped.emplace_back(
10695 that->set_description(
10696 common::make_optional(
10702 if (that->semantic_id().has_value()) {
10703 const std::shared_ptr<types::IReference>& value(
10704 that->semantic_id().value()
10716 that->set_semantic_id(
10717 common::make_optional(
10723 if (that->supplemental_semantic_ids().has_value()) {
10725 std::shared_ptr<types::IReference>
10727 that->supplemental_semantic_ids().value()
10729 const std::size_t size = value.size();
10732 std::shared_ptr<types::IReference>
10734 wrapped.reserve(size);
10737 const std::shared_ptr<types::IReference>& item
10740 wrapped.emplace_back(
10748 that->set_supplemental_semantic_ids(
10749 common::make_optional(
10755 if (that->qualifiers().has_value()) {
10757 std::shared_ptr<types::IQualifier>
10759 that->qualifiers().value()
10761 const std::size_t size = value.size();
10764 std::shared_ptr<types::IQualifier>
10766 wrapped.reserve(size);
10769 const std::shared_ptr<types::IQualifier>& item
10772 wrapped.emplace_back(
10780 that->set_qualifiers(
10781 common::make_optional(
10787 if (that->embedded_data_specifications().has_value()) {
10789 std::shared_ptr<types::IEmbeddedDataSpecification>
10791 that->embedded_data_specifications().value()
10793 const std::size_t size = value.size();
10796 std::shared_ptr<types::IEmbeddedDataSpecification>
10798 wrapped.reserve(size);
10801 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10804 wrapped.emplace_back(
10812 that->set_embedded_data_specifications(
10813 common::make_optional(
10819 if (that->value().has_value()) {
10820 const std::shared_ptr<types::IReference>& value(
10821 that->value().value()
10834 common::make_optional(
10840 std::shared_ptr<E> enh(
10843 return (enh ==
nullptr)
10845 : std::shared_ptr<types::IReferenceElement>(
10846 new EnhancedReferenceElement<E>(
10862template<
typename E>
10863std::shared_ptr<types::IBlob> WrapBlob(
10864 const std::shared_ptr<types::IBlob>& that,
10865 const std::function<
10866 std::shared_ptr<E>(
10867 const std::shared_ptr<types::IClass>&
10874 if (that->extensions().has_value()) {
10876 std::shared_ptr<types::IExtension>
10878 that->extensions().value()
10880 const std::size_t size = value.size();
10883 std::shared_ptr<types::IExtension>
10885 wrapped.reserve(size);
10888 const std::shared_ptr<types::IExtension>& item
10891 wrapped.emplace_back(
10899 that->set_extensions(
10900 common::make_optional(
10906 if (that->display_name().has_value()) {
10908 std::shared_ptr<types::ILangStringNameType>
10910 that->display_name().value()
10912 const std::size_t size = value.size();
10915 std::shared_ptr<types::ILangStringNameType>
10917 wrapped.reserve(size);
10920 const std::shared_ptr<types::ILangStringNameType>& item
10923 wrapped.emplace_back(
10931 that->set_display_name(
10932 common::make_optional(
10938 if (that->description().has_value()) {
10940 std::shared_ptr<types::ILangStringTextType>
10942 that->description().value()
10944 const std::size_t size = value.size();
10947 std::shared_ptr<types::ILangStringTextType>
10949 wrapped.reserve(size);
10952 const std::shared_ptr<types::ILangStringTextType>& item
10955 wrapped.emplace_back(
10963 that->set_description(
10964 common::make_optional(
10970 if (that->semantic_id().has_value()) {
10971 const std::shared_ptr<types::IReference>& value(
10972 that->semantic_id().value()
10984 that->set_semantic_id(
10985 common::make_optional(
10991 if (that->supplemental_semantic_ids().has_value()) {
10993 std::shared_ptr<types::IReference>
10995 that->supplemental_semantic_ids().value()
10997 const std::size_t size = value.size();
11000 std::shared_ptr<types::IReference>
11002 wrapped.reserve(size);
11005 const std::shared_ptr<types::IReference>& item
11008 wrapped.emplace_back(
11016 that->set_supplemental_semantic_ids(
11017 common::make_optional(
11023 if (that->qualifiers().has_value()) {
11025 std::shared_ptr<types::IQualifier>
11027 that->qualifiers().value()
11029 const std::size_t size = value.size();
11032 std::shared_ptr<types::IQualifier>
11034 wrapped.reserve(size);
11037 const std::shared_ptr<types::IQualifier>& item
11040 wrapped.emplace_back(
11048 that->set_qualifiers(
11049 common::make_optional(
11055 if (that->embedded_data_specifications().has_value()) {
11057 std::shared_ptr<types::IEmbeddedDataSpecification>
11059 that->embedded_data_specifications().value()
11061 const std::size_t size = value.size();
11064 std::shared_ptr<types::IEmbeddedDataSpecification>
11066 wrapped.reserve(size);
11069 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11072 wrapped.emplace_back(
11080 that->set_embedded_data_specifications(
11081 common::make_optional(
11087 std::shared_ptr<E> enh(
11090 return (enh ==
nullptr)
11092 : std::shared_ptr<types::IBlob>(
11093 new EnhancedBlob<E>(
11109template<
typename E>
11110std::shared_ptr<types::IFile> WrapFile(
11111 const std::shared_ptr<types::IFile>& that,
11112 const std::function<
11113 std::shared_ptr<E>(
11114 const std::shared_ptr<types::IClass>&
11121 if (that->extensions().has_value()) {
11123 std::shared_ptr<types::IExtension>
11125 that->extensions().value()
11127 const std::size_t size = value.size();
11130 std::shared_ptr<types::IExtension>
11132 wrapped.reserve(size);
11135 const std::shared_ptr<types::IExtension>& item
11138 wrapped.emplace_back(
11146 that->set_extensions(
11147 common::make_optional(
11153 if (that->display_name().has_value()) {
11155 std::shared_ptr<types::ILangStringNameType>
11157 that->display_name().value()
11159 const std::size_t size = value.size();
11162 std::shared_ptr<types::ILangStringNameType>
11164 wrapped.reserve(size);
11167 const std::shared_ptr<types::ILangStringNameType>& item
11170 wrapped.emplace_back(
11178 that->set_display_name(
11179 common::make_optional(
11185 if (that->description().has_value()) {
11187 std::shared_ptr<types::ILangStringTextType>
11189 that->description().value()
11191 const std::size_t size = value.size();
11194 std::shared_ptr<types::ILangStringTextType>
11196 wrapped.reserve(size);
11199 const std::shared_ptr<types::ILangStringTextType>& item
11202 wrapped.emplace_back(
11210 that->set_description(
11211 common::make_optional(
11217 if (that->semantic_id().has_value()) {
11218 const std::shared_ptr<types::IReference>& value(
11219 that->semantic_id().value()
11231 that->set_semantic_id(
11232 common::make_optional(
11238 if (that->supplemental_semantic_ids().has_value()) {
11240 std::shared_ptr<types::IReference>
11242 that->supplemental_semantic_ids().value()
11244 const std::size_t size = value.size();
11247 std::shared_ptr<types::IReference>
11249 wrapped.reserve(size);
11252 const std::shared_ptr<types::IReference>& item
11255 wrapped.emplace_back(
11263 that->set_supplemental_semantic_ids(
11264 common::make_optional(
11270 if (that->qualifiers().has_value()) {
11272 std::shared_ptr<types::IQualifier>
11274 that->qualifiers().value()
11276 const std::size_t size = value.size();
11279 std::shared_ptr<types::IQualifier>
11281 wrapped.reserve(size);
11284 const std::shared_ptr<types::IQualifier>& item
11287 wrapped.emplace_back(
11295 that->set_qualifiers(
11296 common::make_optional(
11302 if (that->embedded_data_specifications().has_value()) {
11304 std::shared_ptr<types::IEmbeddedDataSpecification>
11306 that->embedded_data_specifications().value()
11308 const std::size_t size = value.size();
11311 std::shared_ptr<types::IEmbeddedDataSpecification>
11313 wrapped.reserve(size);
11316 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11319 wrapped.emplace_back(
11327 that->set_embedded_data_specifications(
11328 common::make_optional(
11334 std::shared_ptr<E> enh(
11337 return (enh ==
nullptr)
11339 : std::shared_ptr<types::IFile>(
11340 new EnhancedFile<E>(
11356template<
typename E>
11357std::shared_ptr<types::IAnnotatedRelationshipElement> WrapAnnotatedRelationshipElement(
11358 const std::shared_ptr<types::IAnnotatedRelationshipElement>& that,
11359 const std::function<
11360 std::shared_ptr<E>(
11361 const std::shared_ptr<types::IClass>&
11368 if (that->extensions().has_value()) {
11370 std::shared_ptr<types::IExtension>
11372 that->extensions().value()
11374 const std::size_t size = value.size();
11377 std::shared_ptr<types::IExtension>
11379 wrapped.reserve(size);
11382 const std::shared_ptr<types::IExtension>& item
11385 wrapped.emplace_back(
11393 that->set_extensions(
11394 common::make_optional(
11400 if (that->display_name().has_value()) {
11402 std::shared_ptr<types::ILangStringNameType>
11404 that->display_name().value()
11406 const std::size_t size = value.size();
11409 std::shared_ptr<types::ILangStringNameType>
11411 wrapped.reserve(size);
11414 const std::shared_ptr<types::ILangStringNameType>& item
11417 wrapped.emplace_back(
11425 that->set_display_name(
11426 common::make_optional(
11432 if (that->description().has_value()) {
11434 std::shared_ptr<types::ILangStringTextType>
11436 that->description().value()
11438 const std::size_t size = value.size();
11441 std::shared_ptr<types::ILangStringTextType>
11443 wrapped.reserve(size);
11446 const std::shared_ptr<types::ILangStringTextType>& item
11449 wrapped.emplace_back(
11457 that->set_description(
11458 common::make_optional(
11464 if (that->semantic_id().has_value()) {
11465 const std::shared_ptr<types::IReference>& value(
11466 that->semantic_id().value()
11478 that->set_semantic_id(
11479 common::make_optional(
11485 if (that->supplemental_semantic_ids().has_value()) {
11487 std::shared_ptr<types::IReference>
11489 that->supplemental_semantic_ids().value()
11491 const std::size_t size = value.size();
11494 std::shared_ptr<types::IReference>
11496 wrapped.reserve(size);
11499 const std::shared_ptr<types::IReference>& item
11502 wrapped.emplace_back(
11510 that->set_supplemental_semantic_ids(
11511 common::make_optional(
11517 if (that->qualifiers().has_value()) {
11519 std::shared_ptr<types::IQualifier>
11521 that->qualifiers().value()
11523 const std::size_t size = value.size();
11526 std::shared_ptr<types::IQualifier>
11528 wrapped.reserve(size);
11531 const std::shared_ptr<types::IQualifier>& item
11534 wrapped.emplace_back(
11542 that->set_qualifiers(
11543 common::make_optional(
11549 if (that->embedded_data_specifications().has_value()) {
11551 std::shared_ptr<types::IEmbeddedDataSpecification>
11553 that->embedded_data_specifications().value()
11555 const std::size_t size = value.size();
11558 std::shared_ptr<types::IEmbeddedDataSpecification>
11560 wrapped.reserve(size);
11563 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11566 wrapped.emplace_back(
11574 that->set_embedded_data_specifications(
11575 common::make_optional(
11595 if (that->annotations().has_value()) {
11597 std::shared_ptr<types::IDataElement>
11599 that->annotations().value()
11601 const std::size_t size = value.size();
11604 std::shared_ptr<types::IDataElement>
11606 wrapped.reserve(size);
11609 const std::shared_ptr<types::IDataElement>& item
11612 wrapped.emplace_back(
11620 that->set_annotations(
11621 common::make_optional(
11627 std::shared_ptr<E> enh(
11630 return (enh ==
nullptr)
11632 : std::shared_ptr<types::IAnnotatedRelationshipElement>(
11633 new EnhancedAnnotatedRelationshipElement<E>(
11649template<
typename E>
11650std::shared_ptr<types::IEntity> WrapEntity(
11651 const std::shared_ptr<types::IEntity>& that,
11652 const std::function<
11653 std::shared_ptr<E>(
11654 const std::shared_ptr<types::IClass>&
11661 if (that->extensions().has_value()) {
11663 std::shared_ptr<types::IExtension>
11665 that->extensions().value()
11667 const std::size_t size = value.size();
11670 std::shared_ptr<types::IExtension>
11672 wrapped.reserve(size);
11675 const std::shared_ptr<types::IExtension>& item
11678 wrapped.emplace_back(
11686 that->set_extensions(
11687 common::make_optional(
11693 if (that->display_name().has_value()) {
11695 std::shared_ptr<types::ILangStringNameType>
11697 that->display_name().value()
11699 const std::size_t size = value.size();
11702 std::shared_ptr<types::ILangStringNameType>
11704 wrapped.reserve(size);
11707 const std::shared_ptr<types::ILangStringNameType>& item
11710 wrapped.emplace_back(
11718 that->set_display_name(
11719 common::make_optional(
11725 if (that->description().has_value()) {
11727 std::shared_ptr<types::ILangStringTextType>
11729 that->description().value()
11731 const std::size_t size = value.size();
11734 std::shared_ptr<types::ILangStringTextType>
11736 wrapped.reserve(size);
11739 const std::shared_ptr<types::ILangStringTextType>& item
11742 wrapped.emplace_back(
11750 that->set_description(
11751 common::make_optional(
11757 if (that->semantic_id().has_value()) {
11758 const std::shared_ptr<types::IReference>& value(
11759 that->semantic_id().value()
11771 that->set_semantic_id(
11772 common::make_optional(
11778 if (that->supplemental_semantic_ids().has_value()) {
11780 std::shared_ptr<types::IReference>
11782 that->supplemental_semantic_ids().value()
11784 const std::size_t size = value.size();
11787 std::shared_ptr<types::IReference>
11789 wrapped.reserve(size);
11792 const std::shared_ptr<types::IReference>& item
11795 wrapped.emplace_back(
11803 that->set_supplemental_semantic_ids(
11804 common::make_optional(
11810 if (that->qualifiers().has_value()) {
11812 std::shared_ptr<types::IQualifier>
11814 that->qualifiers().value()
11816 const std::size_t size = value.size();
11819 std::shared_ptr<types::IQualifier>
11821 wrapped.reserve(size);
11824 const std::shared_ptr<types::IQualifier>& item
11827 wrapped.emplace_back(
11835 that->set_qualifiers(
11836 common::make_optional(
11842 if (that->embedded_data_specifications().has_value()) {
11844 std::shared_ptr<types::IEmbeddedDataSpecification>
11846 that->embedded_data_specifications().value()
11848 const std::size_t size = value.size();
11851 std::shared_ptr<types::IEmbeddedDataSpecification>
11853 wrapped.reserve(size);
11856 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11859 wrapped.emplace_back(
11867 that->set_embedded_data_specifications(
11868 common::make_optional(
11874 if (that->statements().has_value()) {
11876 std::shared_ptr<types::ISubmodelElement>
11878 that->statements().value()
11880 const std::size_t size = value.size();
11883 std::shared_ptr<types::ISubmodelElement>
11885 wrapped.reserve(size);
11888 const std::shared_ptr<types::ISubmodelElement>& item
11891 wrapped.emplace_back(
11899 that->set_statements(
11900 common::make_optional(
11906 if (that->specific_asset_ids().has_value()) {
11908 std::shared_ptr<types::ISpecificAssetId>
11910 that->specific_asset_ids().value()
11912 const std::size_t size = value.size();
11915 std::shared_ptr<types::ISpecificAssetId>
11917 wrapped.reserve(size);
11920 const std::shared_ptr<types::ISpecificAssetId>& item
11923 wrapped.emplace_back(
11931 that->set_specific_asset_ids(
11932 common::make_optional(
11938 std::shared_ptr<E> enh(
11941 return (enh ==
nullptr)
11943 : std::shared_ptr<types::IEntity>(
11944 new EnhancedEntity<E>(
11960template<
typename E>
11961std::shared_ptr<types::IEventPayload> WrapEventPayload(
11962 const std::shared_ptr<types::IEventPayload>& that,
11963 const std::function<
11964 std::shared_ptr<E>(
11965 const std::shared_ptr<types::IClass>&
11979 if (that->source_semantic_id().has_value()) {
11980 const std::shared_ptr<types::IReference>& value(
11981 that->source_semantic_id().value()
11993 that->set_source_semantic_id(
11994 common::make_optional(
12000 that->set_observable_reference(
12002 that->observable_reference(),
12007 if (that->observable_semantic_id().has_value()) {
12008 const std::shared_ptr<types::IReference>& value(
12009 that->observable_semantic_id().value()
12021 that->set_observable_semantic_id(
12022 common::make_optional(
12028 if (that->subject_id().has_value()) {
12029 const std::shared_ptr<types::IReference>& value(
12030 that->subject_id().value()
12042 that->set_subject_id(
12043 common::make_optional(
12049 std::shared_ptr<E> enh(
12052 return (enh ==
nullptr)
12054 : std::shared_ptr<types::IEventPayload>(
12055 new EnhancedEventPayload<E>(
12071template<
typename E>
12072std::shared_ptr<types::IBasicEventElement> WrapBasicEventElement(
12073 const std::shared_ptr<types::IBasicEventElement>& that,
12074 const std::function<
12075 std::shared_ptr<E>(
12076 const std::shared_ptr<types::IClass>&
12083 if (that->extensions().has_value()) {
12085 std::shared_ptr<types::IExtension>
12087 that->extensions().value()
12089 const std::size_t size = value.size();
12092 std::shared_ptr<types::IExtension>
12094 wrapped.reserve(size);
12097 const std::shared_ptr<types::IExtension>& item
12100 wrapped.emplace_back(
12108 that->set_extensions(
12109 common::make_optional(
12115 if (that->display_name().has_value()) {
12117 std::shared_ptr<types::ILangStringNameType>
12119 that->display_name().value()
12121 const std::size_t size = value.size();
12124 std::shared_ptr<types::ILangStringNameType>
12126 wrapped.reserve(size);
12129 const std::shared_ptr<types::ILangStringNameType>& item
12132 wrapped.emplace_back(
12140 that->set_display_name(
12141 common::make_optional(
12147 if (that->description().has_value()) {
12149 std::shared_ptr<types::ILangStringTextType>
12151 that->description().value()
12153 const std::size_t size = value.size();
12156 std::shared_ptr<types::ILangStringTextType>
12158 wrapped.reserve(size);
12161 const std::shared_ptr<types::ILangStringTextType>& item
12164 wrapped.emplace_back(
12172 that->set_description(
12173 common::make_optional(
12179 if (that->semantic_id().has_value()) {
12180 const std::shared_ptr<types::IReference>& value(
12181 that->semantic_id().value()
12193 that->set_semantic_id(
12194 common::make_optional(
12200 if (that->supplemental_semantic_ids().has_value()) {
12202 std::shared_ptr<types::IReference>
12204 that->supplemental_semantic_ids().value()
12206 const std::size_t size = value.size();
12209 std::shared_ptr<types::IReference>
12211 wrapped.reserve(size);
12214 const std::shared_ptr<types::IReference>& item
12217 wrapped.emplace_back(
12225 that->set_supplemental_semantic_ids(
12226 common::make_optional(
12232 if (that->qualifiers().has_value()) {
12234 std::shared_ptr<types::IQualifier>
12236 that->qualifiers().value()
12238 const std::size_t size = value.size();
12241 std::shared_ptr<types::IQualifier>
12243 wrapped.reserve(size);
12246 const std::shared_ptr<types::IQualifier>& item
12249 wrapped.emplace_back(
12257 that->set_qualifiers(
12258 common::make_optional(
12264 if (that->embedded_data_specifications().has_value()) {
12266 std::shared_ptr<types::IEmbeddedDataSpecification>
12268 that->embedded_data_specifications().value()
12270 const std::size_t size = value.size();
12273 std::shared_ptr<types::IEmbeddedDataSpecification>
12275 wrapped.reserve(size);
12278 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
12281 wrapped.emplace_back(
12289 that->set_embedded_data_specifications(
12290 common::make_optional(
12296 that->set_observed(
12303 if (that->message_broker().has_value()) {
12304 const std::shared_ptr<types::IReference>& value(
12305 that->message_broker().value()
12317 that->set_message_broker(
12318 common::make_optional(
12324 std::shared_ptr<E> enh(
12327 return (enh ==
nullptr)
12329 : std::shared_ptr<types::IBasicEventElement>(
12330 new EnhancedBasicEventElement<E>(
12346template<
typename E>
12347std::shared_ptr<types::IOperation> WrapOperation(
12348 const std::shared_ptr<types::IOperation>& that,
12349 const std::function<
12350 std::shared_ptr<E>(
12351 const std::shared_ptr<types::IClass>&
12358 if (that->extensions().has_value()) {
12360 std::shared_ptr<types::IExtension>
12362 that->extensions().value()
12364 const std::size_t size = value.size();
12367 std::shared_ptr<types::IExtension>
12369 wrapped.reserve(size);
12372 const std::shared_ptr<types::IExtension>& item
12375 wrapped.emplace_back(
12383 that->set_extensions(
12384 common::make_optional(
12390 if (that->display_name().has_value()) {
12392 std::shared_ptr<types::ILangStringNameType>
12394 that->display_name().value()
12396 const std::size_t size = value.size();
12399 std::shared_ptr<types::ILangStringNameType>
12401 wrapped.reserve(size);
12404 const std::shared_ptr<types::ILangStringNameType>& item
12407 wrapped.emplace_back(
12415 that->set_display_name(
12416 common::make_optional(
12422 if (that->description().has_value()) {
12424 std::shared_ptr<types::ILangStringTextType>
12426 that->description().value()
12428 const std::size_t size = value.size();
12431 std::shared_ptr<types::ILangStringTextType>
12433 wrapped.reserve(size);
12436 const std::shared_ptr<types::ILangStringTextType>& item
12439 wrapped.emplace_back(
12447 that->set_description(
12448 common::make_optional(
12454 if (that->semantic_id().has_value()) {
12455 const std::shared_ptr<types::IReference>& value(
12456 that->semantic_id().value()
12468 that->set_semantic_id(
12469 common::make_optional(
12475 if (that->supplemental_semantic_ids().has_value()) {
12477 std::shared_ptr<types::IReference>
12479 that->supplemental_semantic_ids().value()
12481 const std::size_t size = value.size();
12484 std::shared_ptr<types::IReference>
12486 wrapped.reserve(size);
12489 const std::shared_ptr<types::IReference>& item
12492 wrapped.emplace_back(
12500 that->set_supplemental_semantic_ids(
12501 common::make_optional(
12507 if (that->qualifiers().has_value()) {
12509 std::shared_ptr<types::IQualifier>
12511 that->qualifiers().value()
12513 const std::size_t size = value.size();
12516 std::shared_ptr<types::IQualifier>
12518 wrapped.reserve(size);
12521 const std::shared_ptr<types::IQualifier>& item
12524 wrapped.emplace_back(
12532 that->set_qualifiers(
12533 common::make_optional(
12539 if (that->embedded_data_specifications().has_value()) {
12541 std::shared_ptr<types::IEmbeddedDataSpecification>
12543 that->embedded_data_specifications().value()
12545 const std::size_t size = value.size();
12548 std::shared_ptr<types::IEmbeddedDataSpecification>
12550 wrapped.reserve(size);
12553 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
12556 wrapped.emplace_back(
12564 that->set_embedded_data_specifications(
12565 common::make_optional(
12571 if (that->input_variables().has_value()) {
12573 std::shared_ptr<types::IOperationVariable>
12575 that->input_variables().value()
12577 const std::size_t size = value.size();
12580 std::shared_ptr<types::IOperationVariable>
12582 wrapped.reserve(size);
12585 const std::shared_ptr<types::IOperationVariable>& item
12588 wrapped.emplace_back(
12596 that->set_input_variables(
12597 common::make_optional(
12603 if (that->output_variables().has_value()) {
12605 std::shared_ptr<types::IOperationVariable>
12607 that->output_variables().value()
12609 const std::size_t size = value.size();
12612 std::shared_ptr<types::IOperationVariable>
12614 wrapped.reserve(size);
12617 const std::shared_ptr<types::IOperationVariable>& item
12620 wrapped.emplace_back(
12628 that->set_output_variables(
12629 common::make_optional(
12635 if (that->inoutput_variables().has_value()) {
12637 std::shared_ptr<types::IOperationVariable>
12639 that->inoutput_variables().value()
12641 const std::size_t size = value.size();
12644 std::shared_ptr<types::IOperationVariable>
12646 wrapped.reserve(size);
12649 const std::shared_ptr<types::IOperationVariable>& item
12652 wrapped.emplace_back(
12660 that->set_inoutput_variables(
12661 common::make_optional(
12667 std::shared_ptr<E> enh(
12670 return (enh ==
nullptr)
12672 : std::shared_ptr<types::IOperation>(
12673 new EnhancedOperation<E>(
12689template<
typename E>
12690std::shared_ptr<types::IOperationVariable> WrapOperationVariable(
12691 const std::shared_ptr<types::IOperationVariable>& that,
12692 const std::function<
12693 std::shared_ptr<E>(
12694 const std::shared_ptr<types::IClass>&
12708 std::shared_ptr<E> enh(
12711 return (enh ==
nullptr)
12713 : std::shared_ptr<types::IOperationVariable>(
12714 new EnhancedOperationVariable<E>(
12730template<
typename E>
12731std::shared_ptr<types::ICapability> WrapCapability(
12732 const std::shared_ptr<types::ICapability>& that,
12733 const std::function<
12734 std::shared_ptr<E>(
12735 const std::shared_ptr<types::IClass>&
12742 if (that->extensions().has_value()) {
12744 std::shared_ptr<types::IExtension>
12746 that->extensions().value()
12748 const std::size_t size = value.size();
12751 std::shared_ptr<types::IExtension>
12753 wrapped.reserve(size);
12756 const std::shared_ptr<types::IExtension>& item
12759 wrapped.emplace_back(
12767 that->set_extensions(
12768 common::make_optional(
12774 if (that->display_name().has_value()) {
12776 std::shared_ptr<types::ILangStringNameType>
12778 that->display_name().value()
12780 const std::size_t size = value.size();
12783 std::shared_ptr<types::ILangStringNameType>
12785 wrapped.reserve(size);
12788 const std::shared_ptr<types::ILangStringNameType>& item
12791 wrapped.emplace_back(
12799 that->set_display_name(
12800 common::make_optional(
12806 if (that->description().has_value()) {
12808 std::shared_ptr<types::ILangStringTextType>
12810 that->description().value()
12812 const std::size_t size = value.size();
12815 std::shared_ptr<types::ILangStringTextType>
12817 wrapped.reserve(size);
12820 const std::shared_ptr<types::ILangStringTextType>& item
12823 wrapped.emplace_back(
12831 that->set_description(
12832 common::make_optional(
12838 if (that->semantic_id().has_value()) {
12839 const std::shared_ptr<types::IReference>& value(
12840 that->semantic_id().value()
12852 that->set_semantic_id(
12853 common::make_optional(
12859 if (that->supplemental_semantic_ids().has_value()) {
12861 std::shared_ptr<types::IReference>
12863 that->supplemental_semantic_ids().value()
12865 const std::size_t size = value.size();
12868 std::shared_ptr<types::IReference>
12870 wrapped.reserve(size);
12873 const std::shared_ptr<types::IReference>& item
12876 wrapped.emplace_back(
12884 that->set_supplemental_semantic_ids(
12885 common::make_optional(
12891 if (that->qualifiers().has_value()) {
12893 std::shared_ptr<types::IQualifier>
12895 that->qualifiers().value()
12897 const std::size_t size = value.size();
12900 std::shared_ptr<types::IQualifier>
12902 wrapped.reserve(size);
12905 const std::shared_ptr<types::IQualifier>& item
12908 wrapped.emplace_back(
12916 that->set_qualifiers(
12917 common::make_optional(
12923 if (that->embedded_data_specifications().has_value()) {
12925 std::shared_ptr<types::IEmbeddedDataSpecification>
12927 that->embedded_data_specifications().value()
12929 const std::size_t size = value.size();
12932 std::shared_ptr<types::IEmbeddedDataSpecification>
12934 wrapped.reserve(size);
12937 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
12940 wrapped.emplace_back(
12948 that->set_embedded_data_specifications(
12949 common::make_optional(
12955 std::shared_ptr<E> enh(
12958 return (enh ==
nullptr)
12960 : std::shared_ptr<types::ICapability>(
12961 new EnhancedCapability<E>(
12977template<
typename E>
12978std::shared_ptr<types::IConceptDescription> WrapConceptDescription(
12979 const std::shared_ptr<types::IConceptDescription>& that,
12980 const std::function<
12981 std::shared_ptr<E>(
12982 const std::shared_ptr<types::IClass>&
12989 if (that->extensions().has_value()) {
12991 std::shared_ptr<types::IExtension>
12993 that->extensions().value()
12995 const std::size_t size = value.size();
12998 std::shared_ptr<types::IExtension>
13000 wrapped.reserve(size);
13003 const std::shared_ptr<types::IExtension>& item
13006 wrapped.emplace_back(
13014 that->set_extensions(
13015 common::make_optional(
13021 if (that->display_name().has_value()) {
13023 std::shared_ptr<types::ILangStringNameType>
13025 that->display_name().value()
13027 const std::size_t size = value.size();
13030 std::shared_ptr<types::ILangStringNameType>
13032 wrapped.reserve(size);
13035 const std::shared_ptr<types::ILangStringNameType>& item
13038 wrapped.emplace_back(
13046 that->set_display_name(
13047 common::make_optional(
13053 if (that->description().has_value()) {
13055 std::shared_ptr<types::ILangStringTextType>
13057 that->description().value()
13059 const std::size_t size = value.size();
13062 std::shared_ptr<types::ILangStringTextType>
13064 wrapped.reserve(size);
13067 const std::shared_ptr<types::ILangStringTextType>& item
13070 wrapped.emplace_back(
13078 that->set_description(
13079 common::make_optional(
13085 if (that->administration().has_value()) {
13086 const std::shared_ptr<types::IAdministrativeInformation>& value(
13087 that->administration().value()
13099 that->set_administration(
13100 common::make_optional(
13106 if (that->embedded_data_specifications().has_value()) {
13108 std::shared_ptr<types::IEmbeddedDataSpecification>
13110 that->embedded_data_specifications().value()
13112 const std::size_t size = value.size();
13115 std::shared_ptr<types::IEmbeddedDataSpecification>
13117 wrapped.reserve(size);
13120 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
13123 wrapped.emplace_back(
13131 that->set_embedded_data_specifications(
13132 common::make_optional(
13138 if (that->is_case_of().has_value()) {
13140 std::shared_ptr<types::IReference>
13142 that->is_case_of().value()
13144 const std::size_t size = value.size();
13147 std::shared_ptr<types::IReference>
13149 wrapped.reserve(size);
13152 const std::shared_ptr<types::IReference>& item
13155 wrapped.emplace_back(
13163 that->set_is_case_of(
13164 common::make_optional(
13170 std::shared_ptr<E> enh(
13173 return (enh ==
nullptr)
13175 : std::shared_ptr<types::IConceptDescription>(
13176 new EnhancedConceptDescription<E>(
13192template<
typename E>
13193std::shared_ptr<types::IReference> WrapReference(
13194 const std::shared_ptr<types::IReference>& that,
13195 const std::function<
13196 std::shared_ptr<E>(
13197 const std::shared_ptr<types::IClass>&
13204 if (that->referred_semantic_id().has_value()) {
13205 const std::shared_ptr<types::IReference>& value(
13206 that->referred_semantic_id().value()
13218 that->set_referred_semantic_id(
13219 common::make_optional(
13227 std::shared_ptr<types::IKey>
13231 const std::size_t size = value.size();
13234 std::shared_ptr<types::IKey>
13236 wrapped.reserve(size);
13239 const std::shared_ptr<types::IKey>& item
13242 wrapped.emplace_back(
13255 std::shared_ptr<E> enh(
13258 return (enh ==
nullptr)
13260 : std::shared_ptr<types::IReference>(
13261 new EnhancedReference<E>(
13277template<
typename E>
13278std::shared_ptr<types::IKey> WrapKey(
13279 const std::shared_ptr<types::IKey>& that,
13280 const std::function<
13281 std::shared_ptr<E>(
13282 const std::shared_ptr<types::IClass>&
13291 std::shared_ptr<E> enh(
13294 return (enh ==
nullptr)
13296 : std::shared_ptr<types::IKey>(
13297 new EnhancedKey<E>(
13313template<
typename E>
13314std::shared_ptr<types::ILangStringNameType> WrapLangStringNameType(
13315 const std::shared_ptr<types::ILangStringNameType>& that,
13316 const std::function<
13317 std::shared_ptr<E>(
13318 const std::shared_ptr<types::IClass>&
13327 std::shared_ptr<E> enh(
13330 return (enh ==
nullptr)
13332 : std::shared_ptr<types::ILangStringNameType>(
13333 new EnhancedLangStringNameType<E>(
13349template<
typename E>
13350std::shared_ptr<types::ILangStringTextType> WrapLangStringTextType(
13351 const std::shared_ptr<types::ILangStringTextType>& that,
13352 const std::function<
13353 std::shared_ptr<E>(
13354 const std::shared_ptr<types::IClass>&
13363 std::shared_ptr<E> enh(
13366 return (enh ==
nullptr)
13368 : std::shared_ptr<types::ILangStringTextType>(
13369 new EnhancedLangStringTextType<E>(
13385template<
typename E>
13386std::shared_ptr<types::IEnvironment> WrapEnvironment(
13387 const std::shared_ptr<types::IEnvironment>& that,
13388 const std::function<
13389 std::shared_ptr<E>(
13390 const std::shared_ptr<types::IClass>&
13397 if (that->asset_administration_shells().has_value()) {
13399 std::shared_ptr<types::IAssetAdministrationShell>
13401 that->asset_administration_shells().value()
13403 const std::size_t size = value.size();
13406 std::shared_ptr<types::IAssetAdministrationShell>
13408 wrapped.reserve(size);
13411 const std::shared_ptr<types::IAssetAdministrationShell>& item
13414 wrapped.emplace_back(
13422 that->set_asset_administration_shells(
13423 common::make_optional(
13429 if (that->submodels().has_value()) {
13431 std::shared_ptr<types::ISubmodel>
13433 that->submodels().value()
13435 const std::size_t size = value.size();
13438 std::shared_ptr<types::ISubmodel>
13440 wrapped.reserve(size);
13443 const std::shared_ptr<types::ISubmodel>& item
13446 wrapped.emplace_back(
13454 that->set_submodels(
13455 common::make_optional(
13461 if (that->concept_descriptions().has_value()) {
13463 std::shared_ptr<types::IConceptDescription>
13465 that->concept_descriptions().value()
13467 const std::size_t size = value.size();
13470 std::shared_ptr<types::IConceptDescription>
13472 wrapped.reserve(size);
13475 const std::shared_ptr<types::IConceptDescription>& item
13478 wrapped.emplace_back(
13486 that->set_concept_descriptions(
13487 common::make_optional(
13493 std::shared_ptr<E> enh(
13496 return (enh ==
nullptr)
13498 : std::shared_ptr<types::IEnvironment>(
13499 new EnhancedEnvironment<E>(
13515template<
typename E>
13516std::shared_ptr<types::IEmbeddedDataSpecification> WrapEmbeddedDataSpecification(
13517 const std::shared_ptr<types::IEmbeddedDataSpecification>& that,
13518 const std::function<
13519 std::shared_ptr<E>(
13520 const std::shared_ptr<types::IClass>&
13527 that->set_data_specification(
13529 that->data_specification(),
13534 that->set_data_specification_content(
13536 that->data_specification_content(),
13541 std::shared_ptr<E> enh(
13544 return (enh ==
nullptr)
13546 : std::shared_ptr<types::IEmbeddedDataSpecification>(
13547 new EnhancedEmbeddedDataSpecification<E>(
13563template<
typename E>
13564std::shared_ptr<types::ILevelType> WrapLevelType(
13565 const std::shared_ptr<types::ILevelType>& that,
13566 const std::function<
13567 std::shared_ptr<E>(
13568 const std::shared_ptr<types::IClass>&
13577 std::shared_ptr<E> enh(
13580 return (enh ==
nullptr)
13582 : std::shared_ptr<types::ILevelType>(
13583 new EnhancedLevelType<E>(
13599template<
typename E>
13600std::shared_ptr<types::IValueReferencePair> WrapValueReferencePair(
13601 const std::shared_ptr<types::IValueReferencePair>& that,
13602 const std::function<
13603 std::shared_ptr<E>(
13604 const std::shared_ptr<types::IClass>&
13611 that->set_value_id(
13618 std::shared_ptr<E> enh(
13621 return (enh ==
nullptr)
13623 : std::shared_ptr<types::IValueReferencePair>(
13624 new EnhancedValueReferencePair<E>(
13640template<
typename E>
13641std::shared_ptr<types::IValueList> WrapValueList(
13642 const std::shared_ptr<types::IValueList>& that,
13643 const std::function<
13644 std::shared_ptr<E>(
13645 const std::shared_ptr<types::IClass>&
13654 std::shared_ptr<types::IValueReferencePair>
13656 that->value_reference_pairs()
13658 const std::size_t size = value.size();
13661 std::shared_ptr<types::IValueReferencePair>
13663 wrapped.reserve(size);
13666 const std::shared_ptr<types::IValueReferencePair>& item
13669 wrapped.emplace_back(
13677 that->set_value_reference_pairs(
13682 std::shared_ptr<E> enh(
13685 return (enh ==
nullptr)
13687 : std::shared_ptr<types::IValueList>(
13688 new EnhancedValueList<E>(
13704template<
typename E>
13705std::shared_ptr<types::ILangStringPreferredNameTypeIec61360> WrapLangStringPreferredNameTypeIec61360(
13706 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& that,
13707 const std::function<
13708 std::shared_ptr<E>(
13709 const std::shared_ptr<types::IClass>&
13718 std::shared_ptr<E> enh(
13721 return (enh ==
nullptr)
13723 : std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>(
13724 new EnhancedLangStringPreferredNameTypeIec61360<E>(
13740template<
typename E>
13741std::shared_ptr<types::ILangStringShortNameTypeIec61360> WrapLangStringShortNameTypeIec61360(
13742 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& that,
13743 const std::function<
13744 std::shared_ptr<E>(
13745 const std::shared_ptr<types::IClass>&
13754 std::shared_ptr<E> enh(
13757 return (enh ==
nullptr)
13759 : std::shared_ptr<types::ILangStringShortNameTypeIec61360>(
13760 new EnhancedLangStringShortNameTypeIec61360<E>(
13776template<
typename E>
13777std::shared_ptr<types::ILangStringDefinitionTypeIec61360> WrapLangStringDefinitionTypeIec61360(
13778 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& that,
13779 const std::function<
13780 std::shared_ptr<E>(
13781 const std::shared_ptr<types::IClass>&
13790 std::shared_ptr<E> enh(
13793 return (enh ==
nullptr)
13795 : std::shared_ptr<types::ILangStringDefinitionTypeIec61360>(
13796 new EnhancedLangStringDefinitionTypeIec61360<E>(
13812template<
typename E>
13813std::shared_ptr<types::IDataSpecificationIec61360> WrapDataSpecificationIec61360(
13814 const std::shared_ptr<types::IDataSpecificationIec61360>& that,
13815 const std::function<
13816 std::shared_ptr<E>(
13817 const std::shared_ptr<types::IClass>&
13826 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
13828 that->preferred_name()
13830 const std::size_t size = value.size();
13833 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
13835 wrapped.reserve(size);
13838 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& item
13841 wrapped.emplace_back(
13849 that->set_preferred_name(
13854 if (that->short_name().has_value()) {
13856 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
13858 that->short_name().value()
13860 const std::size_t size = value.size();
13863 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
13865 wrapped.reserve(size);
13868 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& item
13871 wrapped.emplace_back(
13879 that->set_short_name(
13880 common::make_optional(
13886 if (that->unit_id().has_value()) {
13887 const std::shared_ptr<types::IReference>& value(
13888 that->unit_id().value()
13901 common::make_optional(
13907 if (that->definition().has_value()) {
13909 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
13911 that->definition().value()
13913 const std::size_t size = value.size();
13916 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
13918 wrapped.reserve(size);
13921 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& item
13924 wrapped.emplace_back(
13932 that->set_definition(
13933 common::make_optional(
13939 if (that->value_list().has_value()) {
13940 const std::shared_ptr<types::IValueList>& value(
13941 that->value_list().value()
13953 that->set_value_list(
13954 common::make_optional(
13960 if (that->level_type().has_value()) {
13961 const std::shared_ptr<types::ILevelType>& value(
13962 that->level_type().value()
13974 that->set_level_type(
13975 common::make_optional(
13981 std::shared_ptr<E> enh(
13984 return (enh ==
nullptr)
13986 : std::shared_ptr<types::IDataSpecificationIec61360>(
13987 new EnhancedDataSpecificationIec61360<E>(
14005 typename std::enable_if<
14006 std::is_base_of<types::IClass, T>::value
14009void AssertNotEnhanced(
14010 const std::shared_ptr<T>& that
14012 std::shared_ptr<impl::IEnhanced<E> > enhanced(
14013 std::dynamic_pointer_cast<
14017 if (enhanced !=
nullptr) {
14018 throw std::logic_error(
14022 " has been already wrapped."
14047template <
typename E>
14051 const std::shared_ptr<
14054 const std::function<
14055 std::shared_ptr<E>(
14056 const std::shared_ptr<types::IClass>&
14060 impl::AssertNotEnhanced<
14065 switch (that->model_type()) {
14067 return impl::WrapExtension<E>(
14068 std::dynamic_pointer_cast<
14075 return impl::WrapAdministrativeInformation<E>(
14076 std::dynamic_pointer_cast<
14083 return impl::WrapQualifier<E>(
14084 std::dynamic_pointer_cast<
14091 return impl::WrapAssetAdministrationShell<E>(
14092 std::dynamic_pointer_cast<
14099 return impl::WrapAssetInformation<E>(
14100 std::dynamic_pointer_cast<
14107 return impl::WrapResource<E>(
14108 std::dynamic_pointer_cast<
14115 return impl::WrapSpecificAssetId<E>(
14116 std::dynamic_pointer_cast<
14123 return impl::WrapSubmodel<E>(
14124 std::dynamic_pointer_cast<
14131 return impl::WrapRelationshipElement<E>(
14132 std::dynamic_pointer_cast<
14139 return impl::WrapSubmodelElementList<E>(
14140 std::dynamic_pointer_cast<
14147 return impl::WrapSubmodelElementCollection<E>(
14148 std::dynamic_pointer_cast<
14155 return impl::WrapProperty<E>(
14156 std::dynamic_pointer_cast<
14163 return impl::WrapMultiLanguageProperty<E>(
14164 std::dynamic_pointer_cast<
14171 return impl::WrapRange<E>(
14172 std::dynamic_pointer_cast<
14179 return impl::WrapReferenceElement<E>(
14180 std::dynamic_pointer_cast<
14187 return impl::WrapBlob<E>(
14188 std::dynamic_pointer_cast<
14195 return impl::WrapFile<E>(
14196 std::dynamic_pointer_cast<
14203 return impl::WrapAnnotatedRelationshipElement<E>(
14204 std::dynamic_pointer_cast<
14211 return impl::WrapEntity<E>(
14212 std::dynamic_pointer_cast<
14219 return impl::WrapEventPayload<E>(
14220 std::dynamic_pointer_cast<
14227 return impl::WrapBasicEventElement<E>(
14228 std::dynamic_pointer_cast<
14235 return impl::WrapOperation<E>(
14236 std::dynamic_pointer_cast<
14243 return impl::WrapOperationVariable<E>(
14244 std::dynamic_pointer_cast<
14251 return impl::WrapCapability<E>(
14252 std::dynamic_pointer_cast<
14259 return impl::WrapConceptDescription<E>(
14260 std::dynamic_pointer_cast<
14267 return impl::WrapReference<E>(
14268 std::dynamic_pointer_cast<
14275 return impl::WrapKey<E>(
14276 std::dynamic_pointer_cast<
14283 return impl::WrapLangStringNameType<E>(
14284 std::dynamic_pointer_cast<
14291 return impl::WrapLangStringTextType<E>(
14292 std::dynamic_pointer_cast<
14299 return impl::WrapEnvironment<E>(
14300 std::dynamic_pointer_cast<
14307 return impl::WrapEmbeddedDataSpecification<E>(
14308 std::dynamic_pointer_cast<
14315 return impl::WrapLevelType<E>(
14316 std::dynamic_pointer_cast<
14323 return impl::WrapValueReferencePair<E>(
14324 std::dynamic_pointer_cast<
14331 return impl::WrapValueList<E>(
14332 std::dynamic_pointer_cast<
14339 return impl::WrapLangStringPreferredNameTypeIec61360<E>(
14340 std::dynamic_pointer_cast<
14347 return impl::WrapLangStringShortNameTypeIec61360<E>(
14348 std::dynamic_pointer_cast<
14355 return impl::WrapLangStringDefinitionTypeIec61360<E>(
14356 std::dynamic_pointer_cast<
14363 return impl::WrapDataSpecificationIec61360<E>(
14364 std::dynamic_pointer_cast<
14365 types::IDataSpecificationIec61360
14371 throw std::invalid_argument(
14373 "Unexpected model type: ",
14375 static_cast<std::uint32_t
>(
14385template <
typename E>
14389 const std::shared_ptr<
14392 const std::function<
14393 std::shared_ptr<E>(
14394 const std::shared_ptr<types::IClass>&
14398 impl::AssertNotEnhanced<
14403 switch (that->model_type()) {
14405 return impl::WrapRelationshipElement<E>(
14406 std::dynamic_pointer_cast<
14413 return impl::WrapAnnotatedRelationshipElement<E>(
14414 std::dynamic_pointer_cast<
14421 return impl::WrapBasicEventElement<E>(
14422 std::dynamic_pointer_cast<
14429 return impl::WrapBlob<E>(
14430 std::dynamic_pointer_cast<
14437 return impl::WrapCapability<E>(
14438 std::dynamic_pointer_cast<
14445 return impl::WrapEntity<E>(
14446 std::dynamic_pointer_cast<
14453 return impl::WrapExtension<E>(
14454 std::dynamic_pointer_cast<
14461 return impl::WrapFile<E>(
14462 std::dynamic_pointer_cast<
14469 return impl::WrapMultiLanguageProperty<E>(
14470 std::dynamic_pointer_cast<
14477 return impl::WrapOperation<E>(
14478 std::dynamic_pointer_cast<
14485 return impl::WrapProperty<E>(
14486 std::dynamic_pointer_cast<
14493 return impl::WrapQualifier<E>(
14494 std::dynamic_pointer_cast<
14501 return impl::WrapRange<E>(
14502 std::dynamic_pointer_cast<
14509 return impl::WrapReferenceElement<E>(
14510 std::dynamic_pointer_cast<
14517 return impl::WrapSpecificAssetId<E>(
14518 std::dynamic_pointer_cast<
14525 return impl::WrapSubmodel<E>(
14526 std::dynamic_pointer_cast<
14533 return impl::WrapSubmodelElementCollection<E>(
14534 std::dynamic_pointer_cast<
14541 return impl::WrapSubmodelElementList<E>(
14542 std::dynamic_pointer_cast<
14549 throw std::invalid_argument(
14551 "Unexpected model type: ",
14553 static_cast<std::uint32_t
>(
14563template <
typename E>
14567 const std::shared_ptr<
14570 const std::function<
14571 std::shared_ptr<E>(
14572 const std::shared_ptr<types::IClass>&
14576 impl::AssertNotEnhanced<
14581 switch (that->model_type()) {
14583 return impl::WrapExtension<E>(
14589 throw std::invalid_argument(
14591 "Unexpected model type: ",
14593 static_cast<std::uint32_t
>(
14603template <
typename E>
14607 const std::shared_ptr<
14610 const std::function<
14611 std::shared_ptr<E>(
14612 const std::shared_ptr<types::IClass>&
14616 impl::AssertNotEnhanced<
14621 switch (that->model_type()) {
14623 return impl::WrapRelationshipElement<E>(
14624 std::dynamic_pointer_cast<
14631 return impl::WrapAnnotatedRelationshipElement<E>(
14632 std::dynamic_pointer_cast<
14639 return impl::WrapAssetAdministrationShell<E>(
14640 std::dynamic_pointer_cast<
14647 return impl::WrapBasicEventElement<E>(
14648 std::dynamic_pointer_cast<
14655 return impl::WrapBlob<E>(
14656 std::dynamic_pointer_cast<
14663 return impl::WrapCapability<E>(
14664 std::dynamic_pointer_cast<
14671 return impl::WrapConceptDescription<E>(
14672 std::dynamic_pointer_cast<
14679 return impl::WrapEntity<E>(
14680 std::dynamic_pointer_cast<
14687 return impl::WrapFile<E>(
14688 std::dynamic_pointer_cast<
14695 return impl::WrapMultiLanguageProperty<E>(
14696 std::dynamic_pointer_cast<
14703 return impl::WrapOperation<E>(
14704 std::dynamic_pointer_cast<
14711 return impl::WrapProperty<E>(
14712 std::dynamic_pointer_cast<
14719 return impl::WrapRange<E>(
14720 std::dynamic_pointer_cast<
14727 return impl::WrapReferenceElement<E>(
14728 std::dynamic_pointer_cast<
14735 return impl::WrapSubmodel<E>(
14736 std::dynamic_pointer_cast<
14743 return impl::WrapSubmodelElementCollection<E>(
14744 std::dynamic_pointer_cast<
14751 return impl::WrapSubmodelElementList<E>(
14752 std::dynamic_pointer_cast<
14759 throw std::invalid_argument(
14761 "Unexpected model type: ",
14763 static_cast<std::uint32_t
>(
14773template <
typename E>
14777 const std::shared_ptr<
14780 const std::function<
14781 std::shared_ptr<E>(
14782 const std::shared_ptr<types::IClass>&
14786 impl::AssertNotEnhanced<
14791 switch (that->model_type()) {
14793 return impl::WrapRelationshipElement<E>(
14794 std::dynamic_pointer_cast<
14801 return impl::WrapAnnotatedRelationshipElement<E>(
14802 std::dynamic_pointer_cast<
14809 return impl::WrapAssetAdministrationShell<E>(
14810 std::dynamic_pointer_cast<
14817 return impl::WrapBasicEventElement<E>(
14818 std::dynamic_pointer_cast<
14825 return impl::WrapBlob<E>(
14826 std::dynamic_pointer_cast<
14833 return impl::WrapCapability<E>(
14834 std::dynamic_pointer_cast<
14841 return impl::WrapConceptDescription<E>(
14842 std::dynamic_pointer_cast<
14849 return impl::WrapEntity<E>(
14850 std::dynamic_pointer_cast<
14857 return impl::WrapFile<E>(
14858 std::dynamic_pointer_cast<
14865 return impl::WrapMultiLanguageProperty<E>(
14866 std::dynamic_pointer_cast<
14873 return impl::WrapOperation<E>(
14874 std::dynamic_pointer_cast<
14881 return impl::WrapProperty<E>(
14882 std::dynamic_pointer_cast<
14889 return impl::WrapRange<E>(
14890 std::dynamic_pointer_cast<
14897 return impl::WrapReferenceElement<E>(
14898 std::dynamic_pointer_cast<
14905 return impl::WrapSubmodel<E>(
14906 std::dynamic_pointer_cast<
14913 return impl::WrapSubmodelElementCollection<E>(
14914 std::dynamic_pointer_cast<
14921 return impl::WrapSubmodelElementList<E>(
14922 std::dynamic_pointer_cast<
14929 throw std::invalid_argument(
14931 "Unexpected model type: ",
14933 static_cast<std::uint32_t
>(
14943template <
typename E>
14947 const std::shared_ptr<
14950 const std::function<
14951 std::shared_ptr<E>(
14952 const std::shared_ptr<types::IClass>&
14956 impl::AssertNotEnhanced<
14961 switch (that->model_type()) {
14963 return impl::WrapAssetAdministrationShell<E>(
14964 std::dynamic_pointer_cast<
14971 return impl::WrapConceptDescription<E>(
14972 std::dynamic_pointer_cast<
14979 return impl::WrapSubmodel<E>(
14980 std::dynamic_pointer_cast<
14987 throw std::invalid_argument(
14989 "Unexpected model type: ",
14991 static_cast<std::uint32_t
>(
15001template <
typename E>
15005 const std::shared_ptr<
15008 const std::function<
15009 std::shared_ptr<E>(
15010 const std::shared_ptr<types::IClass>&
15014 impl::AssertNotEnhanced<
15019 switch (that->model_type()) {
15021 return impl::WrapSubmodel<E>(
15022 std::dynamic_pointer_cast<
15029 throw std::invalid_argument(
15031 "Unexpected model type: ",
15033 static_cast<std::uint32_t
>(
15043template <
typename E>
15047 const std::shared_ptr<
15050 const std::function<
15051 std::shared_ptr<E>(
15052 const std::shared_ptr<types::IClass>&
15056 impl::AssertNotEnhanced<
15061 switch (that->model_type()) {
15063 return impl::WrapAdministrativeInformation<E>(
15064 std::dynamic_pointer_cast<
15071 return impl::WrapRelationshipElement<E>(
15072 std::dynamic_pointer_cast<
15079 return impl::WrapAnnotatedRelationshipElement<E>(
15080 std::dynamic_pointer_cast<
15087 return impl::WrapAssetAdministrationShell<E>(
15088 std::dynamic_pointer_cast<
15095 return impl::WrapBasicEventElement<E>(
15096 std::dynamic_pointer_cast<
15103 return impl::WrapBlob<E>(
15104 std::dynamic_pointer_cast<
15111 return impl::WrapCapability<E>(
15112 std::dynamic_pointer_cast<
15119 return impl::WrapConceptDescription<E>(
15120 std::dynamic_pointer_cast<
15127 return impl::WrapEntity<E>(
15128 std::dynamic_pointer_cast<
15135 return impl::WrapFile<E>(
15136 std::dynamic_pointer_cast<
15143 return impl::WrapMultiLanguageProperty<E>(
15144 std::dynamic_pointer_cast<
15151 return impl::WrapOperation<E>(
15152 std::dynamic_pointer_cast<
15159 return impl::WrapProperty<E>(
15160 std::dynamic_pointer_cast<
15167 return impl::WrapRange<E>(
15168 std::dynamic_pointer_cast<
15175 return impl::WrapReferenceElement<E>(
15176 std::dynamic_pointer_cast<
15183 return impl::WrapSubmodel<E>(
15184 std::dynamic_pointer_cast<
15191 return impl::WrapSubmodelElementCollection<E>(
15192 std::dynamic_pointer_cast<
15199 return impl::WrapSubmodelElementList<E>(
15200 std::dynamic_pointer_cast<
15207 throw std::invalid_argument(
15209 "Unexpected model type: ",
15211 static_cast<std::uint32_t
>(
15221template <
typename E>
15225 const std::shared_ptr<
15228 const std::function<
15229 std::shared_ptr<E>(
15230 const std::shared_ptr<types::IClass>&
15234 impl::AssertNotEnhanced<
15239 switch (that->model_type()) {
15241 return impl::WrapAdministrativeInformation<E>(
15247 throw std::invalid_argument(
15249 "Unexpected model type: ",
15251 static_cast<std::uint32_t
>(
15261template <
typename E>
15265 const std::shared_ptr<
15268 const std::function<
15269 std::shared_ptr<E>(
15270 const std::shared_ptr<types::IClass>&
15274 impl::AssertNotEnhanced<
15279 switch (that->model_type()) {
15281 return impl::WrapRelationshipElement<E>(
15282 std::dynamic_pointer_cast<
15289 return impl::WrapAnnotatedRelationshipElement<E>(
15290 std::dynamic_pointer_cast<
15297 return impl::WrapBasicEventElement<E>(
15298 std::dynamic_pointer_cast<
15305 return impl::WrapBlob<E>(
15306 std::dynamic_pointer_cast<
15313 return impl::WrapCapability<E>(
15314 std::dynamic_pointer_cast<
15321 return impl::WrapEntity<E>(
15322 std::dynamic_pointer_cast<
15329 return impl::WrapFile<E>(
15330 std::dynamic_pointer_cast<
15337 return impl::WrapMultiLanguageProperty<E>(
15338 std::dynamic_pointer_cast<
15345 return impl::WrapOperation<E>(
15346 std::dynamic_pointer_cast<
15353 return impl::WrapProperty<E>(
15354 std::dynamic_pointer_cast<
15361 return impl::WrapRange<E>(
15362 std::dynamic_pointer_cast<
15369 return impl::WrapReferenceElement<E>(
15370 std::dynamic_pointer_cast<
15377 return impl::WrapSubmodel<E>(
15378 std::dynamic_pointer_cast<
15385 return impl::WrapSubmodelElementCollection<E>(
15386 std::dynamic_pointer_cast<
15393 return impl::WrapSubmodelElementList<E>(
15394 std::dynamic_pointer_cast<
15401 throw std::invalid_argument(
15403 "Unexpected model type: ",
15405 static_cast<std::uint32_t
>(
15415template <
typename E>
15419 const std::shared_ptr<
15422 const std::function<
15423 std::shared_ptr<E>(
15424 const std::shared_ptr<types::IClass>&
15428 impl::AssertNotEnhanced<
15433 switch (that->model_type()) {
15435 return impl::WrapQualifier<E>(
15441 throw std::invalid_argument(
15443 "Unexpected model type: ",
15445 static_cast<std::uint32_t
>(
15455template <
typename E>
15459 const std::shared_ptr<
15462 const std::function<
15463 std::shared_ptr<E>(
15464 const std::shared_ptr<types::IClass>&
15468 impl::AssertNotEnhanced<
15473 switch (that->model_type()) {
15475 return impl::WrapAssetAdministrationShell<E>(
15481 throw std::invalid_argument(
15483 "Unexpected model type: ",
15485 static_cast<std::uint32_t
>(
15495template <
typename E>
15499 const std::shared_ptr<
15502 const std::function<
15503 std::shared_ptr<E>(
15504 const std::shared_ptr<types::IClass>&
15508 impl::AssertNotEnhanced<
15513 switch (that->model_type()) {
15515 return impl::WrapAssetInformation<E>(
15521 throw std::invalid_argument(
15523 "Unexpected model type: ",
15525 static_cast<std::uint32_t
>(
15535template <
typename E>
15539 const std::shared_ptr<
15542 const std::function<
15543 std::shared_ptr<E>(
15544 const std::shared_ptr<types::IClass>&
15548 impl::AssertNotEnhanced<
15553 switch (that->model_type()) {
15555 return impl::WrapResource<E>(
15561 throw std::invalid_argument(
15563 "Unexpected model type: ",
15565 static_cast<std::uint32_t
>(
15575template <
typename E>
15579 const std::shared_ptr<
15582 const std::function<
15583 std::shared_ptr<E>(
15584 const std::shared_ptr<types::IClass>&
15588 impl::AssertNotEnhanced<
15593 switch (that->model_type()) {
15595 return impl::WrapSpecificAssetId<E>(
15601 throw std::invalid_argument(
15603 "Unexpected model type: ",
15605 static_cast<std::uint32_t
>(
15615template <
typename E>
15619 const std::shared_ptr<
15622 const std::function<
15623 std::shared_ptr<E>(
15624 const std::shared_ptr<types::IClass>&
15628 impl::AssertNotEnhanced<
15633 switch (that->model_type()) {
15635 return impl::WrapSubmodel<E>(
15641 throw std::invalid_argument(
15643 "Unexpected model type: ",
15645 static_cast<std::uint32_t
>(
15655template <
typename E>
15659 const std::shared_ptr<
15662 const std::function<
15663 std::shared_ptr<E>(
15664 const std::shared_ptr<types::IClass>&
15668 impl::AssertNotEnhanced<
15673 switch (that->model_type()) {
15675 return impl::WrapRelationshipElement<E>(
15676 std::dynamic_pointer_cast<
15683 return impl::WrapAnnotatedRelationshipElement<E>(
15684 std::dynamic_pointer_cast<
15691 return impl::WrapBasicEventElement<E>(
15692 std::dynamic_pointer_cast<
15699 return impl::WrapBlob<E>(
15700 std::dynamic_pointer_cast<
15707 return impl::WrapCapability<E>(
15708 std::dynamic_pointer_cast<
15715 return impl::WrapEntity<E>(
15716 std::dynamic_pointer_cast<
15723 return impl::WrapFile<E>(
15724 std::dynamic_pointer_cast<
15731 return impl::WrapMultiLanguageProperty<E>(
15732 std::dynamic_pointer_cast<
15739 return impl::WrapOperation<E>(
15740 std::dynamic_pointer_cast<
15747 return impl::WrapProperty<E>(
15748 std::dynamic_pointer_cast<
15755 return impl::WrapRange<E>(
15756 std::dynamic_pointer_cast<
15763 return impl::WrapReferenceElement<E>(
15764 std::dynamic_pointer_cast<
15771 return impl::WrapSubmodelElementCollection<E>(
15772 std::dynamic_pointer_cast<
15779 return impl::WrapSubmodelElementList<E>(
15780 std::dynamic_pointer_cast<
15787 throw std::invalid_argument(
15789 "Unexpected model type: ",
15791 static_cast<std::uint32_t
>(
15801template <
typename E>
15805 const std::shared_ptr<
15808 const std::function<
15809 std::shared_ptr<E>(
15810 const std::shared_ptr<types::IClass>&
15814 impl::AssertNotEnhanced<
15819 switch (that->model_type()) {
15821 return impl::WrapRelationshipElement<E>(
15827 return impl::WrapAnnotatedRelationshipElement<E>(
15828 std::dynamic_pointer_cast<
15835 throw std::invalid_argument(
15837 "Unexpected model type: ",
15839 static_cast<std::uint32_t
>(
15849template <
typename E>
15853 const std::shared_ptr<
15856 const std::function<
15857 std::shared_ptr<E>(
15858 const std::shared_ptr<types::IClass>&
15862 impl::AssertNotEnhanced<
15867 switch (that->model_type()) {
15869 return impl::WrapSubmodelElementList<E>(
15875 throw std::invalid_argument(
15877 "Unexpected model type: ",
15879 static_cast<std::uint32_t
>(
15889template <
typename E>
15893 const std::shared_ptr<
15896 const std::function<
15897 std::shared_ptr<E>(
15898 const std::shared_ptr<types::IClass>&
15902 impl::AssertNotEnhanced<
15907 switch (that->model_type()) {
15909 return impl::WrapSubmodelElementCollection<E>(
15915 throw std::invalid_argument(
15917 "Unexpected model type: ",
15919 static_cast<std::uint32_t
>(
15929template <
typename E>
15933 const std::shared_ptr<
15936 const std::function<
15937 std::shared_ptr<E>(
15938 const std::shared_ptr<types::IClass>&
15942 impl::AssertNotEnhanced<
15947 switch (that->model_type()) {
15949 return impl::WrapBlob<E>(
15950 std::dynamic_pointer_cast<
15957 return impl::WrapFile<E>(
15958 std::dynamic_pointer_cast<
15965 return impl::WrapMultiLanguageProperty<E>(
15966 std::dynamic_pointer_cast<
15973 return impl::WrapProperty<E>(
15974 std::dynamic_pointer_cast<
15981 return impl::WrapRange<E>(
15982 std::dynamic_pointer_cast<
15989 return impl::WrapReferenceElement<E>(
15990 std::dynamic_pointer_cast<
15997 throw std::invalid_argument(
15999 "Unexpected model type: ",
16001 static_cast<std::uint32_t
>(
16011template <
typename E>
16015 const std::shared_ptr<
16018 const std::function<
16019 std::shared_ptr<E>(
16020 const std::shared_ptr<types::IClass>&
16024 impl::AssertNotEnhanced<
16029 switch (that->model_type()) {
16031 return impl::WrapProperty<E>(
16037 throw std::invalid_argument(
16039 "Unexpected model type: ",
16041 static_cast<std::uint32_t
>(
16051template <
typename E>
16055 const std::shared_ptr<
16058 const std::function<
16059 std::shared_ptr<E>(
16060 const std::shared_ptr<types::IClass>&
16064 impl::AssertNotEnhanced<
16069 switch (that->model_type()) {
16071 return impl::WrapMultiLanguageProperty<E>(
16077 throw std::invalid_argument(
16079 "Unexpected model type: ",
16081 static_cast<std::uint32_t
>(
16091template <
typename E>
16095 const std::shared_ptr<
16098 const std::function<
16099 std::shared_ptr<E>(
16100 const std::shared_ptr<types::IClass>&
16104 impl::AssertNotEnhanced<
16109 switch (that->model_type()) {
16111 return impl::WrapRange<E>(
16117 throw std::invalid_argument(
16119 "Unexpected model type: ",
16121 static_cast<std::uint32_t
>(
16131template <
typename E>
16135 const std::shared_ptr<
16138 const std::function<
16139 std::shared_ptr<E>(
16140 const std::shared_ptr<types::IClass>&
16144 impl::AssertNotEnhanced<
16149 switch (that->model_type()) {
16151 return impl::WrapReferenceElement<E>(
16157 throw std::invalid_argument(
16159 "Unexpected model type: ",
16161 static_cast<std::uint32_t
>(
16171template <
typename E>
16175 const std::shared_ptr<
16178 const std::function<
16179 std::shared_ptr<E>(
16180 const std::shared_ptr<types::IClass>&
16184 impl::AssertNotEnhanced<
16189 switch (that->model_type()) {
16191 return impl::WrapBlob<E>(
16197 throw std::invalid_argument(
16199 "Unexpected model type: ",
16201 static_cast<std::uint32_t
>(
16211template <
typename E>
16215 const std::shared_ptr<
16218 const std::function<
16219 std::shared_ptr<E>(
16220 const std::shared_ptr<types::IClass>&
16224 impl::AssertNotEnhanced<
16229 switch (that->model_type()) {
16231 return impl::WrapFile<E>(
16237 throw std::invalid_argument(
16239 "Unexpected model type: ",
16241 static_cast<std::uint32_t
>(
16251template <
typename E>
16255 const std::shared_ptr<
16258 const std::function<
16259 std::shared_ptr<E>(
16260 const std::shared_ptr<types::IClass>&
16264 impl::AssertNotEnhanced<
16269 switch (that->model_type()) {
16271 return impl::WrapAnnotatedRelationshipElement<E>(
16277 throw std::invalid_argument(
16279 "Unexpected model type: ",
16281 static_cast<std::uint32_t
>(
16291template <
typename E>
16295 const std::shared_ptr<
16298 const std::function<
16299 std::shared_ptr<E>(
16300 const std::shared_ptr<types::IClass>&
16304 impl::AssertNotEnhanced<
16309 switch (that->model_type()) {
16311 return impl::WrapEntity<E>(
16317 throw std::invalid_argument(
16319 "Unexpected model type: ",
16321 static_cast<std::uint32_t
>(
16331template <
typename E>
16335 const std::shared_ptr<
16338 const std::function<
16339 std::shared_ptr<E>(
16340 const std::shared_ptr<types::IClass>&
16344 impl::AssertNotEnhanced<
16349 switch (that->model_type()) {
16351 return impl::WrapEventPayload<E>(
16357 throw std::invalid_argument(
16359 "Unexpected model type: ",
16361 static_cast<std::uint32_t
>(
16371template <
typename E>
16375 const std::shared_ptr<
16378 const std::function<
16379 std::shared_ptr<E>(
16380 const std::shared_ptr<types::IClass>&
16384 impl::AssertNotEnhanced<
16389 switch (that->model_type()) {
16391 return impl::WrapBasicEventElement<E>(
16392 std::dynamic_pointer_cast<
16399 throw std::invalid_argument(
16401 "Unexpected model type: ",
16403 static_cast<std::uint32_t
>(
16413template <
typename E>
16417 const std::shared_ptr<
16420 const std::function<
16421 std::shared_ptr<E>(
16422 const std::shared_ptr<types::IClass>&
16426 impl::AssertNotEnhanced<
16431 switch (that->model_type()) {
16433 return impl::WrapBasicEventElement<E>(
16439 throw std::invalid_argument(
16441 "Unexpected model type: ",
16443 static_cast<std::uint32_t
>(
16453template <
typename E>
16457 const std::shared_ptr<
16460 const std::function<
16461 std::shared_ptr<E>(
16462 const std::shared_ptr<types::IClass>&
16466 impl::AssertNotEnhanced<
16471 switch (that->model_type()) {
16473 return impl::WrapOperation<E>(
16479 throw std::invalid_argument(
16481 "Unexpected model type: ",
16483 static_cast<std::uint32_t
>(
16493template <
typename E>
16497 const std::shared_ptr<
16500 const std::function<
16501 std::shared_ptr<E>(
16502 const std::shared_ptr<types::IClass>&
16506 impl::AssertNotEnhanced<
16511 switch (that->model_type()) {
16513 return impl::WrapOperationVariable<E>(
16519 throw std::invalid_argument(
16521 "Unexpected model type: ",
16523 static_cast<std::uint32_t
>(
16533template <
typename E>
16537 const std::shared_ptr<
16540 const std::function<
16541 std::shared_ptr<E>(
16542 const std::shared_ptr<types::IClass>&
16546 impl::AssertNotEnhanced<
16551 switch (that->model_type()) {
16553 return impl::WrapCapability<E>(
16559 throw std::invalid_argument(
16561 "Unexpected model type: ",
16563 static_cast<std::uint32_t
>(
16573template <
typename E>
16577 const std::shared_ptr<
16580 const std::function<
16581 std::shared_ptr<E>(
16582 const std::shared_ptr<types::IClass>&
16586 impl::AssertNotEnhanced<
16591 switch (that->model_type()) {
16593 return impl::WrapConceptDescription<E>(
16599 throw std::invalid_argument(
16601 "Unexpected model type: ",
16603 static_cast<std::uint32_t
>(
16613template <
typename E>
16617 const std::shared_ptr<
16620 const std::function<
16621 std::shared_ptr<E>(
16622 const std::shared_ptr<types::IClass>&
16626 impl::AssertNotEnhanced<
16631 switch (that->model_type()) {
16633 return impl::WrapReference<E>(
16639 throw std::invalid_argument(
16641 "Unexpected model type: ",
16643 static_cast<std::uint32_t
>(
16653template <
typename E>
16657 const std::shared_ptr<
16660 const std::function<
16661 std::shared_ptr<E>(
16662 const std::shared_ptr<types::IClass>&
16666 impl::AssertNotEnhanced<
16671 switch (that->model_type()) {
16673 return impl::WrapKey<E>(
16679 throw std::invalid_argument(
16681 "Unexpected model type: ",
16683 static_cast<std::uint32_t
>(
16693template <
typename E>
16697 const std::shared_ptr<
16700 const std::function<
16701 std::shared_ptr<E>(
16702 const std::shared_ptr<types::IClass>&
16706 impl::AssertNotEnhanced<
16711 switch (that->model_type()) {
16713 return impl::WrapLangStringDefinitionTypeIec61360<E>(
16714 std::dynamic_pointer_cast<
16721 return impl::WrapLangStringNameType<E>(
16722 std::dynamic_pointer_cast<
16729 return impl::WrapLangStringPreferredNameTypeIec61360<E>(
16730 std::dynamic_pointer_cast<
16737 return impl::WrapLangStringShortNameTypeIec61360<E>(
16738 std::dynamic_pointer_cast<
16745 return impl::WrapLangStringTextType<E>(
16746 std::dynamic_pointer_cast<
16753 throw std::invalid_argument(
16755 "Unexpected model type: ",
16757 static_cast<std::uint32_t
>(
16767template <
typename E>
16771 const std::shared_ptr<
16774 const std::function<
16775 std::shared_ptr<E>(
16776 const std::shared_ptr<types::IClass>&
16780 impl::AssertNotEnhanced<
16785 switch (that->model_type()) {
16787 return impl::WrapLangStringNameType<E>(
16793 throw std::invalid_argument(
16795 "Unexpected model type: ",
16797 static_cast<std::uint32_t
>(
16807template <
typename E>
16811 const std::shared_ptr<
16814 const std::function<
16815 std::shared_ptr<E>(
16816 const std::shared_ptr<types::IClass>&
16820 impl::AssertNotEnhanced<
16825 switch (that->model_type()) {
16827 return impl::WrapLangStringTextType<E>(
16833 throw std::invalid_argument(
16835 "Unexpected model type: ",
16837 static_cast<std::uint32_t
>(
16847template <
typename E>
16851 const std::shared_ptr<
16854 const std::function<
16855 std::shared_ptr<E>(
16856 const std::shared_ptr<types::IClass>&
16860 impl::AssertNotEnhanced<
16865 switch (that->model_type()) {
16867 return impl::WrapEnvironment<E>(
16873 throw std::invalid_argument(
16875 "Unexpected model type: ",
16877 static_cast<std::uint32_t
>(
16887template <
typename E>
16891 const std::shared_ptr<
16894 const std::function<
16895 std::shared_ptr<E>(
16896 const std::shared_ptr<types::IClass>&
16900 impl::AssertNotEnhanced<
16905 switch (that->model_type()) {
16907 return impl::WrapDataSpecificationIec61360<E>(
16908 std::dynamic_pointer_cast<
16909 types::IDataSpecificationIec61360
16915 throw std::invalid_argument(
16917 "Unexpected model type: ",
16919 static_cast<std::uint32_t
>(
16929template <
typename E>
16933 const std::shared_ptr<
16936 const std::function<
16937 std::shared_ptr<E>(
16938 const std::shared_ptr<types::IClass>&
16942 impl::AssertNotEnhanced<
16947 switch (that->model_type()) {
16949 return impl::WrapEmbeddedDataSpecification<E>(
16955 throw std::invalid_argument(
16957 "Unexpected model type: ",
16959 static_cast<std::uint32_t
>(
16969template <
typename E>
16973 const std::shared_ptr<
16976 const std::function<
16977 std::shared_ptr<E>(
16978 const std::shared_ptr<types::IClass>&
16982 impl::AssertNotEnhanced<
16987 switch (that->model_type()) {
16989 return impl::WrapLevelType<E>(
16995 throw std::invalid_argument(
16997 "Unexpected model type: ",
16999 static_cast<std::uint32_t
>(
17009template <
typename E>
17013 const std::shared_ptr<
17016 const std::function<
17017 std::shared_ptr<E>(
17018 const std::shared_ptr<types::IClass>&
17022 impl::AssertNotEnhanced<
17027 switch (that->model_type()) {
17029 return impl::WrapValueReferencePair<E>(
17035 throw std::invalid_argument(
17037 "Unexpected model type: ",
17039 static_cast<std::uint32_t
>(
17049template <
typename E>
17053 const std::shared_ptr<
17056 const std::function<
17057 std::shared_ptr<E>(
17058 const std::shared_ptr<types::IClass>&
17062 impl::AssertNotEnhanced<
17067 switch (that->model_type()) {
17069 return impl::WrapValueList<E>(
17075 throw std::invalid_argument(
17077 "Unexpected model type: ",
17079 static_cast<std::uint32_t
>(
17089template <
typename E>
17093 const std::shared_ptr<
17096 const std::function<
17097 std::shared_ptr<E>(
17098 const std::shared_ptr<types::IClass>&
17102 impl::AssertNotEnhanced<
17107 switch (that->model_type()) {
17109 return impl::WrapLangStringPreferredNameTypeIec61360<E>(
17115 throw std::invalid_argument(
17117 "Unexpected model type: ",
17119 static_cast<std::uint32_t
>(
17129template <
typename E>
17133 const std::shared_ptr<
17136 const std::function<
17137 std::shared_ptr<E>(
17138 const std::shared_ptr<types::IClass>&
17142 impl::AssertNotEnhanced<
17147 switch (that->model_type()) {
17149 return impl::WrapLangStringShortNameTypeIec61360<E>(
17155 throw std::invalid_argument(
17157 "Unexpected model type: ",
17159 static_cast<std::uint32_t
>(
17169template <
typename E>
17173 const std::shared_ptr<
17176 const std::function<
17177 std::shared_ptr<E>(
17178 const std::shared_ptr<types::IClass>&
17182 impl::AssertNotEnhanced<
17187 switch (that->model_type()) {
17189 return impl::WrapLangStringDefinitionTypeIec61360<E>(
17195 throw std::invalid_argument(
17197 "Unexpected model type: ",
17199 static_cast<std::uint32_t
>(
17209template <
typename E>
17211 types::IDataSpecificationIec61360
17213 const std::shared_ptr<
17214 types::IDataSpecificationIec61360
17216 const std::function<
17217 std::shared_ptr<E>(
17218 const std::shared_ptr<types::IClass>&
17222 impl::AssertNotEnhanced<
17224 types::IDataSpecificationIec61360
17227 switch (that->model_type()) {
17229 return impl::WrapDataSpecificationIec61360<E>(
17235 throw std::invalid_argument(
17237 "Unexpected model type: ",
17239 static_cast<std::uint32_t
>(
17258template <
typename E>
17260 const std::shared_ptr<types::IClass>& that
17262 const std::shared_ptr<impl::IEnhanced<E> >& maybe_enhanced(
17263 std::dynamic_pointer_cast<impl::IEnhanced<E> >(that)
17266 if (!maybe_enhanced) {
17270 return maybe_enhanced->enhancement();
17283template <
typename E>
17285 const std::shared_ptr<types::IClass>& that
17287 std::shared_ptr<E> enhancement(
17290 if (!enhancement) {
17291 throw std::invalid_argument(
17293 "Expected an instance of ",
17295 " to have been already wrapped with an enhancement, "
17296 "but it has been not."
17300 return enhancement;