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>&
717 const std::shared_ptr<
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> {
752 return types::ModelType::kExtension;
755 const common::optional<
756 std::shared_ptr<types::IReference>
757 >& semantic_id()
const override {
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> {
909 return types::ModelType::kAdministrativeInformation;
912 const common::optional<
914 std::shared_ptr<types::IEmbeddedDataSpecification>
916 >& embedded_data_specifications()
const override {
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> {
1036 return types::ModelType::kQualifier;
1039 const common::optional<
1040 std::shared_ptr<types::IReference>
1041 >& semantic_id()
const override {
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> {
1201 return types::ModelType::kAssetAdministrationShell;
1204 const common::optional<
1206 std::shared_ptr<types::IExtension>
1208 >& extensions()
const override {
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> {
1466 return types::ModelType::kAssetInformation;
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> {
1593 return types::ModelType::kResource;
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> {
1660 return types::ModelType::kSpecificAssetId;
1663 const common::optional<
1664 std::shared_ptr<types::IReference>
1665 >& semantic_id()
const override {
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> {
1793 return types::ModelType::kSubmodel;
1796 const common::optional<
1798 std::shared_ptr<types::IExtension>
1800 >& extensions()
const override {
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> {
2114 return types::ModelType::kRelationshipElement;
2117 const common::optional<
2119 std::shared_ptr<types::IExtension>
2121 >& extensions()
const override {
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 common::optional<
2322 std::shared_ptr<types::IReference>
2323 >& first()
const override {
2324 return instance_->first();
2328 std::shared_ptr<types::IReference>
2329 >& mutable_first()
override {
2330 return instance_->mutable_first();
2335 std::shared_ptr<types::IReference>
2338 instance_->set_first(value);
2341 const common::optional<
2342 std::shared_ptr<types::IReference>
2343 >& second()
const override {
2344 return instance_->second();
2348 std::shared_ptr<types::IReference>
2349 >& mutable_second()
override {
2350 return instance_->mutable_second();
2355 std::shared_ptr<types::IReference>
2358 instance_->set_second(value);
2361 const std::shared_ptr<E>& enhancement()
const {
2362 return enhancement_;
2365 std::shared_ptr<E>& mutable_enhancement() {
2366 return enhancement_;
2369 void set_enhancement(
2370 std::shared_ptr<E> value
2372 enhancement_ = std::move(value);
2375 EnhancedRelationshipElement(
2376 std::shared_ptr<types::IRelationshipElement> instance,
2377 std::shared_ptr<E> enhancement
2379 instance_(instance),
2380 enhancement_(enhancement) {
2384 virtual ~EnhancedRelationshipElement() =
default;
2387 std::shared_ptr<types::IRelationshipElement> instance_;
2388 std::shared_ptr<E> enhancement_;
2392class EnhancedSubmodelElementList
2394 virtual public IEnhanced<E> {
2397 return types::ModelType::kSubmodelElementList;
2400 const common::optional<
2402 std::shared_ptr<types::IExtension>
2404 >& extensions()
const override {
2410 std::shared_ptr<types::IExtension>
2412 >& mutable_extensions()
override {
2413 return instance_->mutable_extensions();
2416 void set_extensions(
2419 std::shared_ptr<types::IExtension>
2423 instance_->set_extensions(value);
2426 const common::optional<std::wstring>& category()
const override {
2427 return instance_->category();
2430 common::optional<std::wstring>& mutable_category()
override {
2431 return instance_->mutable_category();
2435 common::optional<std::wstring> value
2437 instance_->set_category(value);
2440 const common::optional<std::wstring>& id_short()
const override {
2441 return instance_->id_short();
2444 common::optional<std::wstring>& mutable_id_short()
override {
2445 return instance_->mutable_id_short();
2449 common::optional<std::wstring> value
2451 instance_->set_id_short(value);
2454 const common::optional<
2456 std::shared_ptr<types::ILangStringNameType>
2458 >& display_name()
const override {
2459 return instance_->display_name();
2464 std::shared_ptr<types::ILangStringNameType>
2466 >& mutable_display_name()
override {
2467 return instance_->mutable_display_name();
2470 void set_display_name(
2473 std::shared_ptr<types::ILangStringNameType>
2477 instance_->set_display_name(value);
2480 const common::optional<
2482 std::shared_ptr<types::ILangStringTextType>
2484 >& description()
const override {
2485 return instance_->description();
2490 std::shared_ptr<types::ILangStringTextType>
2492 >& mutable_description()
override {
2493 return instance_->mutable_description();
2496 void set_description(
2499 std::shared_ptr<types::ILangStringTextType>
2503 instance_->set_description(value);
2506 const common::optional<
2507 std::shared_ptr<types::IReference>
2508 >& semantic_id()
const override {
2509 return instance_->semantic_id();
2513 std::shared_ptr<types::IReference>
2514 >& mutable_semantic_id()
override {
2515 return instance_->mutable_semantic_id();
2518 void set_semantic_id(
2520 std::shared_ptr<types::IReference>
2523 instance_->set_semantic_id(value);
2526 const common::optional<
2528 std::shared_ptr<types::IReference>
2530 >& supplemental_semantic_ids()
const override {
2531 return instance_->supplemental_semantic_ids();
2536 std::shared_ptr<types::IReference>
2538 >& mutable_supplemental_semantic_ids()
override {
2539 return instance_->mutable_supplemental_semantic_ids();
2542 void set_supplemental_semantic_ids(
2545 std::shared_ptr<types::IReference>
2549 instance_->set_supplemental_semantic_ids(value);
2552 const common::optional<
2554 std::shared_ptr<types::IQualifier>
2556 >& qualifiers()
const override {
2557 return instance_->qualifiers();
2562 std::shared_ptr<types::IQualifier>
2564 >& mutable_qualifiers()
override {
2565 return instance_->mutable_qualifiers();
2568 void set_qualifiers(
2571 std::shared_ptr<types::IQualifier>
2575 instance_->set_qualifiers(value);
2578 const common::optional<
2580 std::shared_ptr<types::IEmbeddedDataSpecification>
2582 >& embedded_data_specifications()
const override {
2583 return instance_->embedded_data_specifications();
2588 std::shared_ptr<types::IEmbeddedDataSpecification>
2590 >& mutable_embedded_data_specifications()
override {
2591 return instance_->mutable_embedded_data_specifications();
2594 void set_embedded_data_specifications(
2597 std::shared_ptr<types::IEmbeddedDataSpecification>
2601 instance_->set_embedded_data_specifications(value);
2604 const common::optional<bool>& order_relevant()
const override {
2605 return instance_->order_relevant();
2608 common::optional<bool>& mutable_order_relevant()
override {
2609 return instance_->mutable_order_relevant();
2612 void set_order_relevant(
2613 common::optional<bool> value
2615 instance_->set_order_relevant(value);
2618 const common::optional<
2619 std::shared_ptr<types::IReference>
2620 >& semantic_id_list_element()
const override {
2621 return instance_->semantic_id_list_element();
2625 std::shared_ptr<types::IReference>
2626 >& mutable_semantic_id_list_element()
override {
2627 return instance_->mutable_semantic_id_list_element();
2630 void set_semantic_id_list_element(
2632 std::shared_ptr<types::IReference>
2635 instance_->set_semantic_id_list_element(value);
2639 return instance_->type_value_list_element();
2643 return instance_->mutable_type_value_list_element();
2646 void set_type_value_list_element(
2649 instance_->set_type_value_list_element(value);
2652 const common::optional<types::DataTypeDefXsd>& value_type_list_element()
const override {
2653 return instance_->value_type_list_element();
2656 common::optional<types::DataTypeDefXsd>& mutable_value_type_list_element()
override {
2657 return instance_->mutable_value_type_list_element();
2660 void set_value_type_list_element(
2661 common::optional<types::DataTypeDefXsd> value
2663 instance_->set_value_type_list_element(value);
2666 const common::optional<
2668 std::shared_ptr<types::ISubmodelElement>
2670 >& value()
const override {
2671 return instance_->value();
2676 std::shared_ptr<types::ISubmodelElement>
2678 >& mutable_value()
override {
2679 return instance_->mutable_value();
2685 std::shared_ptr<types::ISubmodelElement>
2689 instance_->set_value(value);
2692 bool OrderRelevantOrDefault()
const override {
2693 return instance_->OrderRelevantOrDefault();
2696 const std::shared_ptr<E>& enhancement()
const {
2697 return enhancement_;
2700 std::shared_ptr<E>& mutable_enhancement() {
2701 return enhancement_;
2704 void set_enhancement(
2705 std::shared_ptr<E> value
2707 enhancement_ = std::move(value);
2710 EnhancedSubmodelElementList(
2711 std::shared_ptr<types::ISubmodelElementList> instance,
2712 std::shared_ptr<E> enhancement
2714 instance_(instance),
2715 enhancement_(enhancement) {
2719 virtual ~EnhancedSubmodelElementList() =
default;
2722 std::shared_ptr<types::ISubmodelElementList> instance_;
2723 std::shared_ptr<E> enhancement_;
2727class EnhancedSubmodelElementCollection
2729 virtual public IEnhanced<E> {
2732 return types::ModelType::kSubmodelElementCollection;
2735 const common::optional<
2737 std::shared_ptr<types::IExtension>
2739 >& extensions()
const override {
2745 std::shared_ptr<types::IExtension>
2747 >& mutable_extensions()
override {
2748 return instance_->mutable_extensions();
2751 void set_extensions(
2754 std::shared_ptr<types::IExtension>
2758 instance_->set_extensions(value);
2761 const common::optional<std::wstring>& category()
const override {
2762 return instance_->category();
2765 common::optional<std::wstring>& mutable_category()
override {
2766 return instance_->mutable_category();
2770 common::optional<std::wstring> value
2772 instance_->set_category(value);
2775 const common::optional<std::wstring>& id_short()
const override {
2776 return instance_->id_short();
2779 common::optional<std::wstring>& mutable_id_short()
override {
2780 return instance_->mutable_id_short();
2784 common::optional<std::wstring> value
2786 instance_->set_id_short(value);
2789 const common::optional<
2791 std::shared_ptr<types::ILangStringNameType>
2793 >& display_name()
const override {
2794 return instance_->display_name();
2799 std::shared_ptr<types::ILangStringNameType>
2801 >& mutable_display_name()
override {
2802 return instance_->mutable_display_name();
2805 void set_display_name(
2808 std::shared_ptr<types::ILangStringNameType>
2812 instance_->set_display_name(value);
2815 const common::optional<
2817 std::shared_ptr<types::ILangStringTextType>
2819 >& description()
const override {
2820 return instance_->description();
2825 std::shared_ptr<types::ILangStringTextType>
2827 >& mutable_description()
override {
2828 return instance_->mutable_description();
2831 void set_description(
2834 std::shared_ptr<types::ILangStringTextType>
2838 instance_->set_description(value);
2841 const common::optional<
2842 std::shared_ptr<types::IReference>
2843 >& semantic_id()
const override {
2844 return instance_->semantic_id();
2848 std::shared_ptr<types::IReference>
2849 >& mutable_semantic_id()
override {
2850 return instance_->mutable_semantic_id();
2853 void set_semantic_id(
2855 std::shared_ptr<types::IReference>
2858 instance_->set_semantic_id(value);
2861 const common::optional<
2863 std::shared_ptr<types::IReference>
2865 >& supplemental_semantic_ids()
const override {
2866 return instance_->supplemental_semantic_ids();
2871 std::shared_ptr<types::IReference>
2873 >& mutable_supplemental_semantic_ids()
override {
2874 return instance_->mutable_supplemental_semantic_ids();
2877 void set_supplemental_semantic_ids(
2880 std::shared_ptr<types::IReference>
2884 instance_->set_supplemental_semantic_ids(value);
2887 const common::optional<
2889 std::shared_ptr<types::IQualifier>
2891 >& qualifiers()
const override {
2892 return instance_->qualifiers();
2897 std::shared_ptr<types::IQualifier>
2899 >& mutable_qualifiers()
override {
2900 return instance_->mutable_qualifiers();
2903 void set_qualifiers(
2906 std::shared_ptr<types::IQualifier>
2910 instance_->set_qualifiers(value);
2913 const common::optional<
2915 std::shared_ptr<types::IEmbeddedDataSpecification>
2917 >& embedded_data_specifications()
const override {
2918 return instance_->embedded_data_specifications();
2923 std::shared_ptr<types::IEmbeddedDataSpecification>
2925 >& mutable_embedded_data_specifications()
override {
2926 return instance_->mutable_embedded_data_specifications();
2929 void set_embedded_data_specifications(
2932 std::shared_ptr<types::IEmbeddedDataSpecification>
2936 instance_->set_embedded_data_specifications(value);
2939 const common::optional<
2941 std::shared_ptr<types::ISubmodelElement>
2943 >& value()
const override {
2944 return instance_->value();
2949 std::shared_ptr<types::ISubmodelElement>
2951 >& mutable_value()
override {
2952 return instance_->mutable_value();
2958 std::shared_ptr<types::ISubmodelElement>
2962 instance_->set_value(value);
2965 const std::shared_ptr<E>& enhancement()
const {
2966 return enhancement_;
2969 std::shared_ptr<E>& mutable_enhancement() {
2970 return enhancement_;
2973 void set_enhancement(
2974 std::shared_ptr<E> value
2976 enhancement_ = std::move(value);
2979 EnhancedSubmodelElementCollection(
2980 std::shared_ptr<types::ISubmodelElementCollection> instance,
2981 std::shared_ptr<E> enhancement
2983 instance_(instance),
2984 enhancement_(enhancement) {
2988 virtual ~EnhancedSubmodelElementCollection() =
default;
2991 std::shared_ptr<types::ISubmodelElementCollection> instance_;
2992 std::shared_ptr<E> enhancement_;
2996class EnhancedProperty
2998 virtual public IEnhanced<E> {
3001 return types::ModelType::kProperty;
3004 const common::optional<
3006 std::shared_ptr<types::IExtension>
3008 >& extensions()
const override {
3014 std::shared_ptr<types::IExtension>
3016 >& mutable_extensions()
override {
3017 return instance_->mutable_extensions();
3020 void set_extensions(
3023 std::shared_ptr<types::IExtension>
3027 instance_->set_extensions(value);
3030 const common::optional<std::wstring>& category()
const override {
3031 return instance_->category();
3034 common::optional<std::wstring>& mutable_category()
override {
3035 return instance_->mutable_category();
3039 common::optional<std::wstring> value
3041 instance_->set_category(value);
3044 const common::optional<std::wstring>& id_short()
const override {
3045 return instance_->id_short();
3048 common::optional<std::wstring>& mutable_id_short()
override {
3049 return instance_->mutable_id_short();
3053 common::optional<std::wstring> value
3055 instance_->set_id_short(value);
3058 const common::optional<
3060 std::shared_ptr<types::ILangStringNameType>
3062 >& display_name()
const override {
3063 return instance_->display_name();
3068 std::shared_ptr<types::ILangStringNameType>
3070 >& mutable_display_name()
override {
3071 return instance_->mutable_display_name();
3074 void set_display_name(
3077 std::shared_ptr<types::ILangStringNameType>
3081 instance_->set_display_name(value);
3084 const common::optional<
3086 std::shared_ptr<types::ILangStringTextType>
3088 >& description()
const override {
3089 return instance_->description();
3094 std::shared_ptr<types::ILangStringTextType>
3096 >& mutable_description()
override {
3097 return instance_->mutable_description();
3100 void set_description(
3103 std::shared_ptr<types::ILangStringTextType>
3107 instance_->set_description(value);
3110 const common::optional<
3111 std::shared_ptr<types::IReference>
3112 >& semantic_id()
const override {
3113 return instance_->semantic_id();
3117 std::shared_ptr<types::IReference>
3118 >& mutable_semantic_id()
override {
3119 return instance_->mutable_semantic_id();
3122 void set_semantic_id(
3124 std::shared_ptr<types::IReference>
3127 instance_->set_semantic_id(value);
3130 const common::optional<
3132 std::shared_ptr<types::IReference>
3134 >& supplemental_semantic_ids()
const override {
3135 return instance_->supplemental_semantic_ids();
3140 std::shared_ptr<types::IReference>
3142 >& mutable_supplemental_semantic_ids()
override {
3143 return instance_->mutable_supplemental_semantic_ids();
3146 void set_supplemental_semantic_ids(
3149 std::shared_ptr<types::IReference>
3153 instance_->set_supplemental_semantic_ids(value);
3156 const common::optional<
3158 std::shared_ptr<types::IQualifier>
3160 >& qualifiers()
const override {
3161 return instance_->qualifiers();
3166 std::shared_ptr<types::IQualifier>
3168 >& mutable_qualifiers()
override {
3169 return instance_->mutable_qualifiers();
3172 void set_qualifiers(
3175 std::shared_ptr<types::IQualifier>
3179 instance_->set_qualifiers(value);
3182 const common::optional<
3184 std::shared_ptr<types::IEmbeddedDataSpecification>
3186 >& embedded_data_specifications()
const override {
3187 return instance_->embedded_data_specifications();
3192 std::shared_ptr<types::IEmbeddedDataSpecification>
3194 >& mutable_embedded_data_specifications()
override {
3195 return instance_->mutable_embedded_data_specifications();
3198 void set_embedded_data_specifications(
3201 std::shared_ptr<types::IEmbeddedDataSpecification>
3205 instance_->set_embedded_data_specifications(value);
3209 return instance_->value_type();
3213 return instance_->mutable_value_type();
3216 void set_value_type(
3219 instance_->set_value_type(value);
3222 const common::optional<std::wstring>& value()
const override {
3223 return instance_->value();
3226 common::optional<std::wstring>& mutable_value()
override {
3227 return instance_->mutable_value();
3231 common::optional<std::wstring> value
3233 instance_->set_value(value);
3236 const common::optional<
3237 std::shared_ptr<types::IReference>
3238 >& value_id()
const override {
3239 return instance_->value_id();
3243 std::shared_ptr<types::IReference>
3244 >& mutable_value_id()
override {
3245 return instance_->mutable_value_id();
3250 std::shared_ptr<types::IReference>
3253 instance_->set_value_id(value);
3256 const std::shared_ptr<E>& enhancement()
const {
3257 return enhancement_;
3260 std::shared_ptr<E>& mutable_enhancement() {
3261 return enhancement_;
3264 void set_enhancement(
3265 std::shared_ptr<E> value
3267 enhancement_ = std::move(value);
3271 std::shared_ptr<types::IProperty> instance,
3272 std::shared_ptr<E> enhancement
3274 instance_(instance),
3275 enhancement_(enhancement) {
3279 virtual ~EnhancedProperty() =
default;
3282 std::shared_ptr<types::IProperty> instance_;
3283 std::shared_ptr<E> enhancement_;
3287class EnhancedMultiLanguageProperty
3289 virtual public IEnhanced<E> {
3292 return types::ModelType::kMultiLanguageProperty;
3295 const common::optional<
3297 std::shared_ptr<types::IExtension>
3299 >& extensions()
const override {
3305 std::shared_ptr<types::IExtension>
3307 >& mutable_extensions()
override {
3308 return instance_->mutable_extensions();
3311 void set_extensions(
3314 std::shared_ptr<types::IExtension>
3318 instance_->set_extensions(value);
3321 const common::optional<std::wstring>& category()
const override {
3322 return instance_->category();
3325 common::optional<std::wstring>& mutable_category()
override {
3326 return instance_->mutable_category();
3330 common::optional<std::wstring> value
3332 instance_->set_category(value);
3335 const common::optional<std::wstring>& id_short()
const override {
3336 return instance_->id_short();
3339 common::optional<std::wstring>& mutable_id_short()
override {
3340 return instance_->mutable_id_short();
3344 common::optional<std::wstring> value
3346 instance_->set_id_short(value);
3349 const common::optional<
3351 std::shared_ptr<types::ILangStringNameType>
3353 >& display_name()
const override {
3354 return instance_->display_name();
3359 std::shared_ptr<types::ILangStringNameType>
3361 >& mutable_display_name()
override {
3362 return instance_->mutable_display_name();
3365 void set_display_name(
3368 std::shared_ptr<types::ILangStringNameType>
3372 instance_->set_display_name(value);
3375 const common::optional<
3377 std::shared_ptr<types::ILangStringTextType>
3379 >& description()
const override {
3380 return instance_->description();
3385 std::shared_ptr<types::ILangStringTextType>
3387 >& mutable_description()
override {
3388 return instance_->mutable_description();
3391 void set_description(
3394 std::shared_ptr<types::ILangStringTextType>
3398 instance_->set_description(value);
3401 const common::optional<
3402 std::shared_ptr<types::IReference>
3403 >& semantic_id()
const override {
3404 return instance_->semantic_id();
3408 std::shared_ptr<types::IReference>
3409 >& mutable_semantic_id()
override {
3410 return instance_->mutable_semantic_id();
3413 void set_semantic_id(
3415 std::shared_ptr<types::IReference>
3418 instance_->set_semantic_id(value);
3421 const common::optional<
3423 std::shared_ptr<types::IReference>
3425 >& supplemental_semantic_ids()
const override {
3426 return instance_->supplemental_semantic_ids();
3431 std::shared_ptr<types::IReference>
3433 >& mutable_supplemental_semantic_ids()
override {
3434 return instance_->mutable_supplemental_semantic_ids();
3437 void set_supplemental_semantic_ids(
3440 std::shared_ptr<types::IReference>
3444 instance_->set_supplemental_semantic_ids(value);
3447 const common::optional<
3449 std::shared_ptr<types::IQualifier>
3451 >& qualifiers()
const override {
3452 return instance_->qualifiers();
3457 std::shared_ptr<types::IQualifier>
3459 >& mutable_qualifiers()
override {
3460 return instance_->mutable_qualifiers();
3463 void set_qualifiers(
3466 std::shared_ptr<types::IQualifier>
3470 instance_->set_qualifiers(value);
3473 const common::optional<
3475 std::shared_ptr<types::IEmbeddedDataSpecification>
3477 >& embedded_data_specifications()
const override {
3478 return instance_->embedded_data_specifications();
3483 std::shared_ptr<types::IEmbeddedDataSpecification>
3485 >& mutable_embedded_data_specifications()
override {
3486 return instance_->mutable_embedded_data_specifications();
3489 void set_embedded_data_specifications(
3492 std::shared_ptr<types::IEmbeddedDataSpecification>
3496 instance_->set_embedded_data_specifications(value);
3499 const common::optional<
3501 std::shared_ptr<types::ILangStringTextType>
3503 >& value()
const override {
3504 return instance_->value();
3509 std::shared_ptr<types::ILangStringTextType>
3511 >& mutable_value()
override {
3512 return instance_->mutable_value();
3518 std::shared_ptr<types::ILangStringTextType>
3522 instance_->set_value(value);
3525 const common::optional<
3526 std::shared_ptr<types::IReference>
3527 >& value_id()
const override {
3528 return instance_->value_id();
3532 std::shared_ptr<types::IReference>
3533 >& mutable_value_id()
override {
3534 return instance_->mutable_value_id();
3539 std::shared_ptr<types::IReference>
3542 instance_->set_value_id(value);
3545 const std::shared_ptr<E>& enhancement()
const {
3546 return enhancement_;
3549 std::shared_ptr<E>& mutable_enhancement() {
3550 return enhancement_;
3553 void set_enhancement(
3554 std::shared_ptr<E> value
3556 enhancement_ = std::move(value);
3559 EnhancedMultiLanguageProperty(
3560 std::shared_ptr<types::IMultiLanguageProperty> instance,
3561 std::shared_ptr<E> enhancement
3563 instance_(instance),
3564 enhancement_(enhancement) {
3568 virtual ~EnhancedMultiLanguageProperty() =
default;
3571 std::shared_ptr<types::IMultiLanguageProperty> instance_;
3572 std::shared_ptr<E> enhancement_;
3578 virtual public IEnhanced<E> {
3581 return types::ModelType::kRange;
3584 const common::optional<
3586 std::shared_ptr<types::IExtension>
3588 >& extensions()
const override {
3594 std::shared_ptr<types::IExtension>
3596 >& mutable_extensions()
override {
3597 return instance_->mutable_extensions();
3600 void set_extensions(
3603 std::shared_ptr<types::IExtension>
3607 instance_->set_extensions(value);
3610 const common::optional<std::wstring>& category()
const override {
3611 return instance_->category();
3614 common::optional<std::wstring>& mutable_category()
override {
3615 return instance_->mutable_category();
3619 common::optional<std::wstring> value
3621 instance_->set_category(value);
3624 const common::optional<std::wstring>& id_short()
const override {
3625 return instance_->id_short();
3628 common::optional<std::wstring>& mutable_id_short()
override {
3629 return instance_->mutable_id_short();
3633 common::optional<std::wstring> value
3635 instance_->set_id_short(value);
3638 const common::optional<
3640 std::shared_ptr<types::ILangStringNameType>
3642 >& display_name()
const override {
3643 return instance_->display_name();
3648 std::shared_ptr<types::ILangStringNameType>
3650 >& mutable_display_name()
override {
3651 return instance_->mutable_display_name();
3654 void set_display_name(
3657 std::shared_ptr<types::ILangStringNameType>
3661 instance_->set_display_name(value);
3664 const common::optional<
3666 std::shared_ptr<types::ILangStringTextType>
3668 >& description()
const override {
3669 return instance_->description();
3674 std::shared_ptr<types::ILangStringTextType>
3676 >& mutable_description()
override {
3677 return instance_->mutable_description();
3680 void set_description(
3683 std::shared_ptr<types::ILangStringTextType>
3687 instance_->set_description(value);
3690 const common::optional<
3691 std::shared_ptr<types::IReference>
3692 >& semantic_id()
const override {
3693 return instance_->semantic_id();
3697 std::shared_ptr<types::IReference>
3698 >& mutable_semantic_id()
override {
3699 return instance_->mutable_semantic_id();
3702 void set_semantic_id(
3704 std::shared_ptr<types::IReference>
3707 instance_->set_semantic_id(value);
3710 const common::optional<
3712 std::shared_ptr<types::IReference>
3714 >& supplemental_semantic_ids()
const override {
3715 return instance_->supplemental_semantic_ids();
3720 std::shared_ptr<types::IReference>
3722 >& mutable_supplemental_semantic_ids()
override {
3723 return instance_->mutable_supplemental_semantic_ids();
3726 void set_supplemental_semantic_ids(
3729 std::shared_ptr<types::IReference>
3733 instance_->set_supplemental_semantic_ids(value);
3736 const common::optional<
3738 std::shared_ptr<types::IQualifier>
3740 >& qualifiers()
const override {
3741 return instance_->qualifiers();
3746 std::shared_ptr<types::IQualifier>
3748 >& mutable_qualifiers()
override {
3749 return instance_->mutable_qualifiers();
3752 void set_qualifiers(
3755 std::shared_ptr<types::IQualifier>
3759 instance_->set_qualifiers(value);
3762 const common::optional<
3764 std::shared_ptr<types::IEmbeddedDataSpecification>
3766 >& embedded_data_specifications()
const override {
3767 return instance_->embedded_data_specifications();
3772 std::shared_ptr<types::IEmbeddedDataSpecification>
3774 >& mutable_embedded_data_specifications()
override {
3775 return instance_->mutable_embedded_data_specifications();
3778 void set_embedded_data_specifications(
3781 std::shared_ptr<types::IEmbeddedDataSpecification>
3785 instance_->set_embedded_data_specifications(value);
3789 return instance_->value_type();
3793 return instance_->mutable_value_type();
3796 void set_value_type(
3799 instance_->set_value_type(value);
3802 const common::optional<std::wstring>& min()
const override {
3803 return instance_->min();
3806 common::optional<std::wstring>& mutable_min()
override {
3807 return instance_->mutable_min();
3811 common::optional<std::wstring> value
3813 instance_->set_min(value);
3816 const common::optional<std::wstring>& max()
const override {
3817 return instance_->max();
3820 common::optional<std::wstring>& mutable_max()
override {
3821 return instance_->mutable_max();
3825 common::optional<std::wstring> value
3827 instance_->set_max(value);
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> {
3866 return types::ModelType::kReferenceElement;
3869 const common::optional<
3871 std::shared_ptr<types::IExtension>
3873 >& extensions()
const override {
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 const std::shared_ptr<E>& enhancement()
const {
4094 return enhancement_;
4097 std::shared_ptr<E>& mutable_enhancement() {
4098 return enhancement_;
4101 void set_enhancement(
4102 std::shared_ptr<E> value
4104 enhancement_ = std::move(value);
4107 EnhancedReferenceElement(
4108 std::shared_ptr<types::IReferenceElement> instance,
4109 std::shared_ptr<E> enhancement
4111 instance_(instance),
4112 enhancement_(enhancement) {
4116 virtual ~EnhancedReferenceElement() =
default;
4119 std::shared_ptr<types::IReferenceElement> instance_;
4120 std::shared_ptr<E> enhancement_;
4126 virtual public IEnhanced<E> {
4129 return types::ModelType::kBlob;
4132 const common::optional<
4134 std::shared_ptr<types::IExtension>
4136 >& extensions()
const override {
4142 std::shared_ptr<types::IExtension>
4144 >& mutable_extensions()
override {
4145 return instance_->mutable_extensions();
4148 void set_extensions(
4151 std::shared_ptr<types::IExtension>
4155 instance_->set_extensions(value);
4158 const common::optional<std::wstring>& category()
const override {
4159 return instance_->category();
4162 common::optional<std::wstring>& mutable_category()
override {
4163 return instance_->mutable_category();
4167 common::optional<std::wstring> value
4169 instance_->set_category(value);
4172 const common::optional<std::wstring>& id_short()
const override {
4173 return instance_->id_short();
4176 common::optional<std::wstring>& mutable_id_short()
override {
4177 return instance_->mutable_id_short();
4181 common::optional<std::wstring> value
4183 instance_->set_id_short(value);
4186 const common::optional<
4188 std::shared_ptr<types::ILangStringNameType>
4190 >& display_name()
const override {
4191 return instance_->display_name();
4196 std::shared_ptr<types::ILangStringNameType>
4198 >& mutable_display_name()
override {
4199 return instance_->mutable_display_name();
4202 void set_display_name(
4205 std::shared_ptr<types::ILangStringNameType>
4209 instance_->set_display_name(value);
4212 const common::optional<
4214 std::shared_ptr<types::ILangStringTextType>
4216 >& description()
const override {
4217 return instance_->description();
4222 std::shared_ptr<types::ILangStringTextType>
4224 >& mutable_description()
override {
4225 return instance_->mutable_description();
4228 void set_description(
4231 std::shared_ptr<types::ILangStringTextType>
4235 instance_->set_description(value);
4238 const common::optional<
4239 std::shared_ptr<types::IReference>
4240 >& semantic_id()
const override {
4241 return instance_->semantic_id();
4245 std::shared_ptr<types::IReference>
4246 >& mutable_semantic_id()
override {
4247 return instance_->mutable_semantic_id();
4250 void set_semantic_id(
4252 std::shared_ptr<types::IReference>
4255 instance_->set_semantic_id(value);
4258 const common::optional<
4260 std::shared_ptr<types::IReference>
4262 >& supplemental_semantic_ids()
const override {
4263 return instance_->supplemental_semantic_ids();
4268 std::shared_ptr<types::IReference>
4270 >& mutable_supplemental_semantic_ids()
override {
4271 return instance_->mutable_supplemental_semantic_ids();
4274 void set_supplemental_semantic_ids(
4277 std::shared_ptr<types::IReference>
4281 instance_->set_supplemental_semantic_ids(value);
4284 const common::optional<
4286 std::shared_ptr<types::IQualifier>
4288 >& qualifiers()
const override {
4289 return instance_->qualifiers();
4294 std::shared_ptr<types::IQualifier>
4296 >& mutable_qualifiers()
override {
4297 return instance_->mutable_qualifiers();
4300 void set_qualifiers(
4303 std::shared_ptr<types::IQualifier>
4307 instance_->set_qualifiers(value);
4310 const common::optional<
4312 std::shared_ptr<types::IEmbeddedDataSpecification>
4314 >& embedded_data_specifications()
const override {
4315 return instance_->embedded_data_specifications();
4320 std::shared_ptr<types::IEmbeddedDataSpecification>
4322 >& mutable_embedded_data_specifications()
override {
4323 return instance_->mutable_embedded_data_specifications();
4326 void set_embedded_data_specifications(
4329 std::shared_ptr<types::IEmbeddedDataSpecification>
4333 instance_->set_embedded_data_specifications(value);
4336 const common::optional<
4337 std::vector<std::uint8_t>
4338 >& value()
const override {
4339 return instance_->value();
4343 std::vector<std::uint8_t>
4344 >& mutable_value()
override {
4345 return instance_->mutable_value();
4350 std::vector<std::uint8_t>
4353 instance_->set_value(value);
4356 const common::optional<std::wstring>& content_type()
const override {
4357 return instance_->content_type();
4360 common::optional<std::wstring>& mutable_content_type()
override {
4361 return instance_->mutable_content_type();
4364 void set_content_type(
4365 common::optional<std::wstring> value
4367 instance_->set_content_type(value);
4370 const std::shared_ptr<E>& enhancement()
const {
4371 return enhancement_;
4374 std::shared_ptr<E>& mutable_enhancement() {
4375 return enhancement_;
4378 void set_enhancement(
4379 std::shared_ptr<E> value
4381 enhancement_ = std::move(value);
4385 std::shared_ptr<types::IBlob> instance,
4386 std::shared_ptr<E> enhancement
4388 instance_(instance),
4389 enhancement_(enhancement) {
4393 virtual ~EnhancedBlob() =
default;
4396 std::shared_ptr<types::IBlob> instance_;
4397 std::shared_ptr<E> enhancement_;
4403 virtual public IEnhanced<E> {
4406 return types::ModelType::kFile;
4409 const common::optional<
4411 std::shared_ptr<types::IExtension>
4413 >& extensions()
const override {
4419 std::shared_ptr<types::IExtension>
4421 >& mutable_extensions()
override {
4422 return instance_->mutable_extensions();
4425 void set_extensions(
4428 std::shared_ptr<types::IExtension>
4432 instance_->set_extensions(value);
4435 const common::optional<std::wstring>& category()
const override {
4436 return instance_->category();
4439 common::optional<std::wstring>& mutable_category()
override {
4440 return instance_->mutable_category();
4444 common::optional<std::wstring> value
4446 instance_->set_category(value);
4449 const common::optional<std::wstring>& id_short()
const override {
4450 return instance_->id_short();
4453 common::optional<std::wstring>& mutable_id_short()
override {
4454 return instance_->mutable_id_short();
4458 common::optional<std::wstring> value
4460 instance_->set_id_short(value);
4463 const common::optional<
4465 std::shared_ptr<types::ILangStringNameType>
4467 >& display_name()
const override {
4468 return instance_->display_name();
4473 std::shared_ptr<types::ILangStringNameType>
4475 >& mutable_display_name()
override {
4476 return instance_->mutable_display_name();
4479 void set_display_name(
4482 std::shared_ptr<types::ILangStringNameType>
4486 instance_->set_display_name(value);
4489 const common::optional<
4491 std::shared_ptr<types::ILangStringTextType>
4493 >& description()
const override {
4494 return instance_->description();
4499 std::shared_ptr<types::ILangStringTextType>
4501 >& mutable_description()
override {
4502 return instance_->mutable_description();
4505 void set_description(
4508 std::shared_ptr<types::ILangStringTextType>
4512 instance_->set_description(value);
4515 const common::optional<
4516 std::shared_ptr<types::IReference>
4517 >& semantic_id()
const override {
4518 return instance_->semantic_id();
4522 std::shared_ptr<types::IReference>
4523 >& mutable_semantic_id()
override {
4524 return instance_->mutable_semantic_id();
4527 void set_semantic_id(
4529 std::shared_ptr<types::IReference>
4532 instance_->set_semantic_id(value);
4535 const common::optional<
4537 std::shared_ptr<types::IReference>
4539 >& supplemental_semantic_ids()
const override {
4540 return instance_->supplemental_semantic_ids();
4545 std::shared_ptr<types::IReference>
4547 >& mutable_supplemental_semantic_ids()
override {
4548 return instance_->mutable_supplemental_semantic_ids();
4551 void set_supplemental_semantic_ids(
4554 std::shared_ptr<types::IReference>
4558 instance_->set_supplemental_semantic_ids(value);
4561 const common::optional<
4563 std::shared_ptr<types::IQualifier>
4565 >& qualifiers()
const override {
4566 return instance_->qualifiers();
4571 std::shared_ptr<types::IQualifier>
4573 >& mutable_qualifiers()
override {
4574 return instance_->mutable_qualifiers();
4577 void set_qualifiers(
4580 std::shared_ptr<types::IQualifier>
4584 instance_->set_qualifiers(value);
4587 const common::optional<
4589 std::shared_ptr<types::IEmbeddedDataSpecification>
4591 >& embedded_data_specifications()
const override {
4592 return instance_->embedded_data_specifications();
4597 std::shared_ptr<types::IEmbeddedDataSpecification>
4599 >& mutable_embedded_data_specifications()
override {
4600 return instance_->mutable_embedded_data_specifications();
4603 void set_embedded_data_specifications(
4606 std::shared_ptr<types::IEmbeddedDataSpecification>
4610 instance_->set_embedded_data_specifications(value);
4613 const common::optional<std::wstring>& value()
const override {
4614 return instance_->value();
4617 common::optional<std::wstring>& mutable_value()
override {
4618 return instance_->mutable_value();
4622 common::optional<std::wstring> value
4624 instance_->set_value(value);
4627 const common::optional<std::wstring>& content_type()
const override {
4628 return instance_->content_type();
4631 common::optional<std::wstring>& mutable_content_type()
override {
4632 return instance_->mutable_content_type();
4635 void set_content_type(
4636 common::optional<std::wstring> value
4638 instance_->set_content_type(value);
4641 const std::shared_ptr<E>& enhancement()
const {
4642 return enhancement_;
4645 std::shared_ptr<E>& mutable_enhancement() {
4646 return enhancement_;
4649 void set_enhancement(
4650 std::shared_ptr<E> value
4652 enhancement_ = std::move(value);
4656 std::shared_ptr<types::IFile> instance,
4657 std::shared_ptr<E> enhancement
4659 instance_(instance),
4660 enhancement_(enhancement) {
4664 virtual ~EnhancedFile() =
default;
4667 std::shared_ptr<types::IFile> instance_;
4668 std::shared_ptr<E> enhancement_;
4672class EnhancedAnnotatedRelationshipElement
4674 virtual public IEnhanced<E> {
4677 return types::ModelType::kAnnotatedRelationshipElement;
4680 const common::optional<
4682 std::shared_ptr<types::IExtension>
4684 >& extensions()
const override {
4690 std::shared_ptr<types::IExtension>
4692 >& mutable_extensions()
override {
4693 return instance_->mutable_extensions();
4696 void set_extensions(
4699 std::shared_ptr<types::IExtension>
4703 instance_->set_extensions(value);
4706 const common::optional<std::wstring>& category()
const override {
4707 return instance_->category();
4710 common::optional<std::wstring>& mutable_category()
override {
4711 return instance_->mutable_category();
4715 common::optional<std::wstring> value
4717 instance_->set_category(value);
4720 const common::optional<std::wstring>& id_short()
const override {
4721 return instance_->id_short();
4724 common::optional<std::wstring>& mutable_id_short()
override {
4725 return instance_->mutable_id_short();
4729 common::optional<std::wstring> value
4731 instance_->set_id_short(value);
4734 const common::optional<
4736 std::shared_ptr<types::ILangStringNameType>
4738 >& display_name()
const override {
4739 return instance_->display_name();
4744 std::shared_ptr<types::ILangStringNameType>
4746 >& mutable_display_name()
override {
4747 return instance_->mutable_display_name();
4750 void set_display_name(
4753 std::shared_ptr<types::ILangStringNameType>
4757 instance_->set_display_name(value);
4760 const common::optional<
4762 std::shared_ptr<types::ILangStringTextType>
4764 >& description()
const override {
4765 return instance_->description();
4770 std::shared_ptr<types::ILangStringTextType>
4772 >& mutable_description()
override {
4773 return instance_->mutable_description();
4776 void set_description(
4779 std::shared_ptr<types::ILangStringTextType>
4783 instance_->set_description(value);
4786 const common::optional<
4787 std::shared_ptr<types::IReference>
4788 >& semantic_id()
const override {
4789 return instance_->semantic_id();
4793 std::shared_ptr<types::IReference>
4794 >& mutable_semantic_id()
override {
4795 return instance_->mutable_semantic_id();
4798 void set_semantic_id(
4800 std::shared_ptr<types::IReference>
4803 instance_->set_semantic_id(value);
4806 const common::optional<
4808 std::shared_ptr<types::IReference>
4810 >& supplemental_semantic_ids()
const override {
4811 return instance_->supplemental_semantic_ids();
4816 std::shared_ptr<types::IReference>
4818 >& mutable_supplemental_semantic_ids()
override {
4819 return instance_->mutable_supplemental_semantic_ids();
4822 void set_supplemental_semantic_ids(
4825 std::shared_ptr<types::IReference>
4829 instance_->set_supplemental_semantic_ids(value);
4832 const common::optional<
4834 std::shared_ptr<types::IQualifier>
4836 >& qualifiers()
const override {
4837 return instance_->qualifiers();
4842 std::shared_ptr<types::IQualifier>
4844 >& mutable_qualifiers()
override {
4845 return instance_->mutable_qualifiers();
4848 void set_qualifiers(
4851 std::shared_ptr<types::IQualifier>
4855 instance_->set_qualifiers(value);
4858 const common::optional<
4860 std::shared_ptr<types::IEmbeddedDataSpecification>
4862 >& embedded_data_specifications()
const override {
4863 return instance_->embedded_data_specifications();
4868 std::shared_ptr<types::IEmbeddedDataSpecification>
4870 >& mutable_embedded_data_specifications()
override {
4871 return instance_->mutable_embedded_data_specifications();
4874 void set_embedded_data_specifications(
4877 std::shared_ptr<types::IEmbeddedDataSpecification>
4881 instance_->set_embedded_data_specifications(value);
4884 const common::optional<
4885 std::shared_ptr<types::IReference>
4886 >& first()
const override {
4887 return instance_->first();
4891 std::shared_ptr<types::IReference>
4892 >& mutable_first()
override {
4893 return instance_->mutable_first();
4898 std::shared_ptr<types::IReference>
4901 instance_->set_first(value);
4904 const common::optional<
4905 std::shared_ptr<types::IReference>
4906 >& second()
const override {
4907 return instance_->second();
4911 std::shared_ptr<types::IReference>
4912 >& mutable_second()
override {
4913 return instance_->mutable_second();
4918 std::shared_ptr<types::IReference>
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> {
4986 return types::ModelType::kEntity;
4989 const common::optional<
4991 std::shared_ptr<types::IExtension>
4993 >& extensions()
const override {
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);
5219 const common::optional<types::EntityType>& entity_type()
const override {
5220 return instance_->entity_type();
5223 common::optional<types::EntityType>& mutable_entity_type()
override {
5224 return instance_->mutable_entity_type();
5227 void set_entity_type(
5228 common::optional<types::EntityType> value
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> {
5309 return types::ModelType::kEventPayload;
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> {
5484 return types::ModelType::kBasicEventElement;
5487 const common::optional<
5489 std::shared_ptr<types::IExtension>
5491 >& extensions()
const override {
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> {
5845 return types::ModelType::kOperation;
5848 const common::optional<
5850 std::shared_ptr<types::IExtension>
5852 >& extensions()
const override {
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> {
6166 return types::ModelType::kOperationVariable;
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> {
6219 return types::ModelType::kCapability;
6222 const common::optional<
6224 std::shared_ptr<types::IExtension>
6226 >& extensions()
const override {
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> {
6462 return types::ModelType::kConceptDescription;
6465 const common::optional<
6467 std::shared_ptr<types::IExtension>
6469 >& extensions()
const override {
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> {
6693 return types::ModelType::kReference;
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> {
6786 return types::ModelType::kKey;
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> {
6853 return types::ModelType::kLangStringNameType;
6856 const std::wstring& language()
const override {
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> {
6920 return types::ModelType::kLangStringTextType;
6923 const std::wstring& language()
const override {
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> {
6987 return types::ModelType::kEnvironment;
6990 const common::optional<
6992 std::shared_ptr<types::IAssetAdministrationShell>
6994 >& asset_administration_shells()
const override {
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> {
7104 return types::ModelType::kEmbeddedDataSpecification;
7107 const std::shared_ptr<types::IReference>& data_specification()
const override {
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> {
7171 return types::ModelType::kLevelType;
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> {
7266 return types::ModelType::kValueReferencePair;
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 common::optional<
7284 std::shared_ptr<types::IReference>
7285 >& value_id()
const override {
7286 return instance_->value_id();
7290 std::shared_ptr<types::IReference>
7291 >& mutable_value_id()
override {
7292 return instance_->mutable_value_id();
7297 std::shared_ptr<types::IReference>
7300 instance_->set_value_id(value);
7303 const std::shared_ptr<E>& enhancement()
const {
7304 return enhancement_;
7307 std::shared_ptr<E>& mutable_enhancement() {
7308 return enhancement_;
7311 void set_enhancement(
7312 std::shared_ptr<E> value
7314 enhancement_ = std::move(value);
7317 EnhancedValueReferencePair(
7318 std::shared_ptr<types::IValueReferencePair> instance,
7319 std::shared_ptr<E> enhancement
7321 instance_(instance),
7322 enhancement_(enhancement) {
7326 virtual ~EnhancedValueReferencePair() =
default;
7329 std::shared_ptr<types::IValueReferencePair> instance_;
7330 std::shared_ptr<E> enhancement_;
7334class EnhancedValueList
7336 virtual public IEnhanced<E> {
7339 return types::ModelType::kValueList;
7343 std::shared_ptr<types::IValueReferencePair>
7344 >& value_reference_pairs()
const override {
7349 std::shared_ptr<types::IValueReferencePair>
7350 >& mutable_value_reference_pairs()
override {
7351 return instance_->mutable_value_reference_pairs();
7354 void set_value_reference_pairs(
7356 std::shared_ptr<types::IValueReferencePair>
7359 instance_->set_value_reference_pairs(value);
7362 const std::shared_ptr<E>& enhancement()
const {
7363 return enhancement_;
7366 std::shared_ptr<E>& mutable_enhancement() {
7367 return enhancement_;
7370 void set_enhancement(
7371 std::shared_ptr<E> value
7373 enhancement_ = std::move(value);
7377 std::shared_ptr<types::IValueList> instance,
7378 std::shared_ptr<E> enhancement
7380 instance_(instance),
7381 enhancement_(enhancement) {
7385 virtual ~EnhancedValueList() =
default;
7388 std::shared_ptr<types::IValueList> instance_;
7389 std::shared_ptr<E> enhancement_;
7393class EnhancedLangStringPreferredNameTypeIec61360
7395 virtual public IEnhanced<E> {
7398 return types::ModelType::kLangStringPreferredNameTypeIec61360;
7401 const std::wstring& language()
const override {
7405 std::wstring& mutable_language()
override {
7406 return instance_->mutable_language();
7412 instance_->set_language(value);
7415 const std::wstring& text()
const override {
7416 return instance_->text();
7419 std::wstring& mutable_text()
override {
7420 return instance_->mutable_text();
7426 instance_->set_text(value);
7429 const std::shared_ptr<E>& enhancement()
const {
7430 return enhancement_;
7433 std::shared_ptr<E>& mutable_enhancement() {
7434 return enhancement_;
7437 void set_enhancement(
7438 std::shared_ptr<E> value
7440 enhancement_ = std::move(value);
7443 EnhancedLangStringPreferredNameTypeIec61360(
7444 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360> instance,
7445 std::shared_ptr<E> enhancement
7447 instance_(instance),
7448 enhancement_(enhancement) {
7452 virtual ~EnhancedLangStringPreferredNameTypeIec61360() =
default;
7455 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360> instance_;
7456 std::shared_ptr<E> enhancement_;
7460class EnhancedLangStringShortNameTypeIec61360
7462 virtual public IEnhanced<E> {
7465 return types::ModelType::kLangStringShortNameTypeIec61360;
7468 const std::wstring& language()
const override {
7472 std::wstring& mutable_language()
override {
7473 return instance_->mutable_language();
7479 instance_->set_language(value);
7482 const std::wstring& text()
const override {
7483 return instance_->text();
7486 std::wstring& mutable_text()
override {
7487 return instance_->mutable_text();
7493 instance_->set_text(value);
7496 const std::shared_ptr<E>& enhancement()
const {
7497 return enhancement_;
7500 std::shared_ptr<E>& mutable_enhancement() {
7501 return enhancement_;
7504 void set_enhancement(
7505 std::shared_ptr<E> value
7507 enhancement_ = std::move(value);
7510 EnhancedLangStringShortNameTypeIec61360(
7511 std::shared_ptr<types::ILangStringShortNameTypeIec61360> instance,
7512 std::shared_ptr<E> enhancement
7514 instance_(instance),
7515 enhancement_(enhancement) {
7519 virtual ~EnhancedLangStringShortNameTypeIec61360() =
default;
7522 std::shared_ptr<types::ILangStringShortNameTypeIec61360> instance_;
7523 std::shared_ptr<E> enhancement_;
7527class EnhancedLangStringDefinitionTypeIec61360
7529 virtual public IEnhanced<E> {
7532 return types::ModelType::kLangStringDefinitionTypeIec61360;
7535 const std::wstring& language()
const override {
7539 std::wstring& mutable_language()
override {
7540 return instance_->mutable_language();
7546 instance_->set_language(value);
7549 const std::wstring& text()
const override {
7550 return instance_->text();
7553 std::wstring& mutable_text()
override {
7554 return instance_->mutable_text();
7560 instance_->set_text(value);
7563 const std::shared_ptr<E>& enhancement()
const {
7564 return enhancement_;
7567 std::shared_ptr<E>& mutable_enhancement() {
7568 return enhancement_;
7571 void set_enhancement(
7572 std::shared_ptr<E> value
7574 enhancement_ = std::move(value);
7577 EnhancedLangStringDefinitionTypeIec61360(
7578 std::shared_ptr<types::ILangStringDefinitionTypeIec61360> instance,
7579 std::shared_ptr<E> enhancement
7581 instance_(instance),
7582 enhancement_(enhancement) {
7586 virtual ~EnhancedLangStringDefinitionTypeIec61360() =
default;
7589 std::shared_ptr<types::ILangStringDefinitionTypeIec61360> instance_;
7590 std::shared_ptr<E> enhancement_;
7594class EnhancedDataSpecificationIec61360
7596 virtual public IEnhanced<E> {
7599 return types::ModelType::kDataSpecificationIec61360;
7603 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
7604 >& preferred_name()
const override {
7609 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
7610 >& mutable_preferred_name()
override {
7611 return instance_->mutable_preferred_name();
7614 void set_preferred_name(
7616 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
7619 instance_->set_preferred_name(value);
7622 const common::optional<
7624 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
7626 >& short_name()
const override {
7627 return instance_->short_name();
7632 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
7634 >& mutable_short_name()
override {
7635 return instance_->mutable_short_name();
7638 void set_short_name(
7641 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
7645 instance_->set_short_name(value);
7648 const common::optional<std::wstring>& unit()
const override {
7649 return instance_->unit();
7652 common::optional<std::wstring>& mutable_unit()
override {
7653 return instance_->mutable_unit();
7657 common::optional<std::wstring> value
7659 instance_->set_unit(value);
7662 const common::optional<
7663 std::shared_ptr<types::IReference>
7664 >& unit_id()
const override {
7665 return instance_->unit_id();
7669 std::shared_ptr<types::IReference>
7670 >& mutable_unit_id()
override {
7671 return instance_->mutable_unit_id();
7676 std::shared_ptr<types::IReference>
7679 instance_->set_unit_id(value);
7682 const common::optional<std::wstring>& source_of_definition()
const override {
7683 return instance_->source_of_definition();
7686 common::optional<std::wstring>& mutable_source_of_definition()
override {
7687 return instance_->mutable_source_of_definition();
7690 void set_source_of_definition(
7691 common::optional<std::wstring> value
7693 instance_->set_source_of_definition(value);
7696 const common::optional<std::wstring>& symbol()
const override {
7697 return instance_->symbol();
7700 common::optional<std::wstring>& mutable_symbol()
override {
7701 return instance_->mutable_symbol();
7705 common::optional<std::wstring> value
7707 instance_->set_symbol(value);
7710 const common::optional<types::DataTypeIec61360>& data_type()
const override {
7711 return instance_->data_type();
7714 common::optional<types::DataTypeIec61360>& mutable_data_type()
override {
7715 return instance_->mutable_data_type();
7719 common::optional<types::DataTypeIec61360> value
7721 instance_->set_data_type(value);
7724 const common::optional<
7726 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
7728 >& definition()
const override {
7729 return instance_->definition();
7734 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
7736 >& mutable_definition()
override {
7737 return instance_->mutable_definition();
7740 void set_definition(
7743 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
7747 instance_->set_definition(value);
7750 const common::optional<std::wstring>& value_format()
const override {
7751 return instance_->value_format();
7754 common::optional<std::wstring>& mutable_value_format()
override {
7755 return instance_->mutable_value_format();
7758 void set_value_format(
7759 common::optional<std::wstring> value
7761 instance_->set_value_format(value);
7764 const common::optional<
7765 std::shared_ptr<types::IValueList>
7766 >& value_list()
const override {
7767 return instance_->value_list();
7771 std::shared_ptr<types::IValueList>
7772 >& mutable_value_list()
override {
7773 return instance_->mutable_value_list();
7776 void set_value_list(
7778 std::shared_ptr<types::IValueList>
7781 instance_->set_value_list(value);
7784 const common::optional<std::wstring>& value()
const override {
7785 return instance_->value();
7788 common::optional<std::wstring>& mutable_value()
override {
7789 return instance_->mutable_value();
7793 common::optional<std::wstring> value
7795 instance_->set_value(value);
7798 const common::optional<
7799 std::shared_ptr<types::ILevelType>
7800 >& level_type()
const override {
7801 return instance_->level_type();
7805 std::shared_ptr<types::ILevelType>
7806 >& mutable_level_type()
override {
7807 return instance_->mutable_level_type();
7810 void set_level_type(
7812 std::shared_ptr<types::ILevelType>
7815 instance_->set_level_type(value);
7818 const std::shared_ptr<E>& enhancement()
const {
7819 return enhancement_;
7822 std::shared_ptr<E>& mutable_enhancement() {
7823 return enhancement_;
7826 void set_enhancement(
7827 std::shared_ptr<E> value
7829 enhancement_ = std::move(value);
7832 EnhancedDataSpecificationIec61360(
7833 std::shared_ptr<types::IDataSpecificationIec61360> instance,
7834 std::shared_ptr<E> enhancement
7836 instance_(instance),
7837 enhancement_(enhancement) {
7841 virtual ~EnhancedDataSpecificationIec61360() =
default;
7844 std::shared_ptr<types::IDataSpecificationIec61360> instance_;
7845 std::shared_ptr<E> enhancement_;
7858std::shared_ptr<types::IExtension> WrapExtension(
7859 const std::shared_ptr<types::IExtension>& that,
7860 const std::function<
7862 const std::shared_ptr<types::IClass>&
7869 if (that->semantic_id().has_value()) {
7870 const std::shared_ptr<types::IReference>& value(
7871 that->semantic_id().value()
7883 that->set_semantic_id(
7884 common::make_optional(
7890 if (that->supplemental_semantic_ids().has_value()) {
7892 std::shared_ptr<types::IReference>
7894 that->supplemental_semantic_ids().value()
7896 const std::size_t size = value.size();
7899 std::shared_ptr<types::IReference>
7901 wrapped.reserve(size);
7904 const std::shared_ptr<types::IReference>& item
7907 wrapped.emplace_back(
7915 that->set_supplemental_semantic_ids(
7916 common::make_optional(
7922 if (that->refers_to().has_value()) {
7924 std::shared_ptr<types::IReference>
7926 that->refers_to().value()
7928 const std::size_t size = value.size();
7931 std::shared_ptr<types::IReference>
7933 wrapped.reserve(size);
7936 const std::shared_ptr<types::IReference>& item
7939 wrapped.emplace_back(
7947 that->set_refers_to(
7948 common::make_optional(
7954 std::shared_ptr<E> enh(
7957 return (enh ==
nullptr)
7959 : std::shared_ptr<types::IExtension>(
7960 new EnhancedExtension<E>(
7977std::shared_ptr<types::IAdministrativeInformation> WrapAdministrativeInformation(
7978 const std::shared_ptr<types::IAdministrativeInformation>& that,
7979 const std::function<
7981 const std::shared_ptr<types::IClass>&
7988 if (that->embedded_data_specifications().has_value()) {
7990 std::shared_ptr<types::IEmbeddedDataSpecification>
7992 that->embedded_data_specifications().value()
7994 const std::size_t size = value.size();
7997 std::shared_ptr<types::IEmbeddedDataSpecification>
7999 wrapped.reserve(size);
8002 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
8005 wrapped.emplace_back(
8013 that->set_embedded_data_specifications(
8014 common::make_optional(
8020 if (that->creator().has_value()) {
8021 const std::shared_ptr<types::IReference>& value(
8022 that->creator().value()
8035 common::make_optional(
8041 std::shared_ptr<E> enh(
8044 return (enh ==
nullptr)
8046 : std::shared_ptr<types::IAdministrativeInformation>(
8047 new EnhancedAdministrativeInformation<E>(
8064std::shared_ptr<types::IQualifier> WrapQualifier(
8065 const std::shared_ptr<types::IQualifier>& that,
8066 const std::function<
8068 const std::shared_ptr<types::IClass>&
8075 if (that->semantic_id().has_value()) {
8076 const std::shared_ptr<types::IReference>& value(
8077 that->semantic_id().value()
8089 that->set_semantic_id(
8090 common::make_optional(
8096 if (that->supplemental_semantic_ids().has_value()) {
8098 std::shared_ptr<types::IReference>
8100 that->supplemental_semantic_ids().value()
8102 const std::size_t size = value.size();
8105 std::shared_ptr<types::IReference>
8107 wrapped.reserve(size);
8110 const std::shared_ptr<types::IReference>& item
8113 wrapped.emplace_back(
8121 that->set_supplemental_semantic_ids(
8122 common::make_optional(
8128 if (that->value_id().has_value()) {
8129 const std::shared_ptr<types::IReference>& value(
8130 that->value_id().value()
8143 common::make_optional(
8149 std::shared_ptr<E> enh(
8152 return (enh ==
nullptr)
8154 : std::shared_ptr<types::IQualifier>(
8155 new EnhancedQualifier<E>(
8172std::shared_ptr<types::IAssetAdministrationShell> WrapAssetAdministrationShell(
8173 const std::shared_ptr<types::IAssetAdministrationShell>& that,
8174 const std::function<
8176 const std::shared_ptr<types::IClass>&
8183 if (that->extensions().has_value()) {
8185 std::shared_ptr<types::IExtension>
8187 that->extensions().value()
8189 const std::size_t size = value.size();
8192 std::shared_ptr<types::IExtension>
8194 wrapped.reserve(size);
8197 const std::shared_ptr<types::IExtension>& item
8200 wrapped.emplace_back(
8208 that->set_extensions(
8209 common::make_optional(
8215 if (that->display_name().has_value()) {
8217 std::shared_ptr<types::ILangStringNameType>
8219 that->display_name().value()
8221 const std::size_t size = value.size();
8224 std::shared_ptr<types::ILangStringNameType>
8226 wrapped.reserve(size);
8229 const std::shared_ptr<types::ILangStringNameType>& item
8232 wrapped.emplace_back(
8240 that->set_display_name(
8241 common::make_optional(
8247 if (that->description().has_value()) {
8249 std::shared_ptr<types::ILangStringTextType>
8251 that->description().value()
8253 const std::size_t size = value.size();
8256 std::shared_ptr<types::ILangStringTextType>
8258 wrapped.reserve(size);
8261 const std::shared_ptr<types::ILangStringTextType>& item
8264 wrapped.emplace_back(
8272 that->set_description(
8273 common::make_optional(
8279 if (that->administration().has_value()) {
8280 const std::shared_ptr<types::IAdministrativeInformation>& value(
8281 that->administration().value()
8293 that->set_administration(
8294 common::make_optional(
8300 if (that->embedded_data_specifications().has_value()) {
8302 std::shared_ptr<types::IEmbeddedDataSpecification>
8304 that->embedded_data_specifications().value()
8306 const std::size_t size = value.size();
8309 std::shared_ptr<types::IEmbeddedDataSpecification>
8311 wrapped.reserve(size);
8314 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
8317 wrapped.emplace_back(
8325 that->set_embedded_data_specifications(
8326 common::make_optional(
8332 if (that->derived_from().has_value()) {
8333 const std::shared_ptr<types::IReference>& value(
8334 that->derived_from().value()
8346 that->set_derived_from(
8347 common::make_optional(
8353 that->set_asset_information(
8355 that->asset_information(),
8360 if (that->submodels().has_value()) {
8362 std::shared_ptr<types::IReference>
8364 that->submodels().value()
8366 const std::size_t size = value.size();
8369 std::shared_ptr<types::IReference>
8371 wrapped.reserve(size);
8374 const std::shared_ptr<types::IReference>& item
8377 wrapped.emplace_back(
8385 that->set_submodels(
8386 common::make_optional(
8392 std::shared_ptr<E> enh(
8395 return (enh ==
nullptr)
8397 : std::shared_ptr<types::IAssetAdministrationShell>(
8398 new EnhancedAssetAdministrationShell<E>(
8415std::shared_ptr<types::IAssetInformation> WrapAssetInformation(
8416 const std::shared_ptr<types::IAssetInformation>& that,
8417 const std::function<
8419 const std::shared_ptr<types::IClass>&
8426 if (that->specific_asset_ids().has_value()) {
8428 std::shared_ptr<types::ISpecificAssetId>
8430 that->specific_asset_ids().value()
8432 const std::size_t size = value.size();
8435 std::shared_ptr<types::ISpecificAssetId>
8437 wrapped.reserve(size);
8440 const std::shared_ptr<types::ISpecificAssetId>& item
8443 wrapped.emplace_back(
8451 that->set_specific_asset_ids(
8452 common::make_optional(
8458 if (that->default_thumbnail().has_value()) {
8459 const std::shared_ptr<types::IResource>& value(
8460 that->default_thumbnail().value()
8472 that->set_default_thumbnail(
8473 common::make_optional(
8479 std::shared_ptr<E> enh(
8482 return (enh ==
nullptr)
8484 : std::shared_ptr<types::IAssetInformation>(
8485 new EnhancedAssetInformation<E>(
8502std::shared_ptr<types::IResource> WrapResource(
8503 const std::shared_ptr<types::IResource>& that,
8504 const std::function<
8506 const std::shared_ptr<types::IClass>&
8515 std::shared_ptr<E> enh(
8518 return (enh ==
nullptr)
8520 : std::shared_ptr<types::IResource>(
8521 new EnhancedResource<E>(
8538std::shared_ptr<types::ISpecificAssetId> WrapSpecificAssetId(
8539 const std::shared_ptr<types::ISpecificAssetId>& that,
8540 const std::function<
8542 const std::shared_ptr<types::IClass>&
8549 if (that->semantic_id().has_value()) {
8550 const std::shared_ptr<types::IReference>& value(
8551 that->semantic_id().value()
8563 that->set_semantic_id(
8564 common::make_optional(
8570 if (that->supplemental_semantic_ids().has_value()) {
8572 std::shared_ptr<types::IReference>
8574 that->supplemental_semantic_ids().value()
8576 const std::size_t size = value.size();
8579 std::shared_ptr<types::IReference>
8581 wrapped.reserve(size);
8584 const std::shared_ptr<types::IReference>& item
8587 wrapped.emplace_back(
8595 that->set_supplemental_semantic_ids(
8596 common::make_optional(
8602 if (that->external_subject_id().has_value()) {
8603 const std::shared_ptr<types::IReference>& value(
8604 that->external_subject_id().value()
8616 that->set_external_subject_id(
8617 common::make_optional(
8623 std::shared_ptr<E> enh(
8626 return (enh ==
nullptr)
8628 : std::shared_ptr<types::ISpecificAssetId>(
8629 new EnhancedSpecificAssetId<E>(
8646std::shared_ptr<types::ISubmodel> WrapSubmodel(
8647 const std::shared_ptr<types::ISubmodel>& that,
8648 const std::function<
8650 const std::shared_ptr<types::IClass>&
8657 if (that->extensions().has_value()) {
8659 std::shared_ptr<types::IExtension>
8661 that->extensions().value()
8663 const std::size_t size = value.size();
8666 std::shared_ptr<types::IExtension>
8668 wrapped.reserve(size);
8671 const std::shared_ptr<types::IExtension>& item
8674 wrapped.emplace_back(
8682 that->set_extensions(
8683 common::make_optional(
8689 if (that->display_name().has_value()) {
8691 std::shared_ptr<types::ILangStringNameType>
8693 that->display_name().value()
8695 const std::size_t size = value.size();
8698 std::shared_ptr<types::ILangStringNameType>
8700 wrapped.reserve(size);
8703 const std::shared_ptr<types::ILangStringNameType>& item
8706 wrapped.emplace_back(
8714 that->set_display_name(
8715 common::make_optional(
8721 if (that->description().has_value()) {
8723 std::shared_ptr<types::ILangStringTextType>
8725 that->description().value()
8727 const std::size_t size = value.size();
8730 std::shared_ptr<types::ILangStringTextType>
8732 wrapped.reserve(size);
8735 const std::shared_ptr<types::ILangStringTextType>& item
8738 wrapped.emplace_back(
8746 that->set_description(
8747 common::make_optional(
8753 if (that->administration().has_value()) {
8754 const std::shared_ptr<types::IAdministrativeInformation>& value(
8755 that->administration().value()
8767 that->set_administration(
8768 common::make_optional(
8774 if (that->semantic_id().has_value()) {
8775 const std::shared_ptr<types::IReference>& value(
8776 that->semantic_id().value()
8788 that->set_semantic_id(
8789 common::make_optional(
8795 if (that->supplemental_semantic_ids().has_value()) {
8797 std::shared_ptr<types::IReference>
8799 that->supplemental_semantic_ids().value()
8801 const std::size_t size = value.size();
8804 std::shared_ptr<types::IReference>
8806 wrapped.reserve(size);
8809 const std::shared_ptr<types::IReference>& item
8812 wrapped.emplace_back(
8820 that->set_supplemental_semantic_ids(
8821 common::make_optional(
8827 if (that->qualifiers().has_value()) {
8829 std::shared_ptr<types::IQualifier>
8831 that->qualifiers().value()
8833 const std::size_t size = value.size();
8836 std::shared_ptr<types::IQualifier>
8838 wrapped.reserve(size);
8841 const std::shared_ptr<types::IQualifier>& item
8844 wrapped.emplace_back(
8852 that->set_qualifiers(
8853 common::make_optional(
8859 if (that->embedded_data_specifications().has_value()) {
8861 std::shared_ptr<types::IEmbeddedDataSpecification>
8863 that->embedded_data_specifications().value()
8865 const std::size_t size = value.size();
8868 std::shared_ptr<types::IEmbeddedDataSpecification>
8870 wrapped.reserve(size);
8873 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
8876 wrapped.emplace_back(
8884 that->set_embedded_data_specifications(
8885 common::make_optional(
8891 if (that->submodel_elements().has_value()) {
8893 std::shared_ptr<types::ISubmodelElement>
8895 that->submodel_elements().value()
8897 const std::size_t size = value.size();
8900 std::shared_ptr<types::ISubmodelElement>
8902 wrapped.reserve(size);
8905 const std::shared_ptr<types::ISubmodelElement>& item
8908 wrapped.emplace_back(
8916 that->set_submodel_elements(
8917 common::make_optional(
8923 std::shared_ptr<E> enh(
8926 return (enh ==
nullptr)
8928 : std::shared_ptr<types::ISubmodel>(
8929 new EnhancedSubmodel<E>(
8946std::shared_ptr<types::IRelationshipElement> WrapRelationshipElement(
8947 const std::shared_ptr<types::IRelationshipElement>& that,
8948 const std::function<
8950 const std::shared_ptr<types::IClass>&
8957 if (that->extensions().has_value()) {
8959 std::shared_ptr<types::IExtension>
8961 that->extensions().value()
8963 const std::size_t size = value.size();
8966 std::shared_ptr<types::IExtension>
8968 wrapped.reserve(size);
8971 const std::shared_ptr<types::IExtension>& item
8974 wrapped.emplace_back(
8982 that->set_extensions(
8983 common::make_optional(
8989 if (that->display_name().has_value()) {
8991 std::shared_ptr<types::ILangStringNameType>
8993 that->display_name().value()
8995 const std::size_t size = value.size();
8998 std::shared_ptr<types::ILangStringNameType>
9000 wrapped.reserve(size);
9003 const std::shared_ptr<types::ILangStringNameType>& item
9006 wrapped.emplace_back(
9014 that->set_display_name(
9015 common::make_optional(
9021 if (that->description().has_value()) {
9023 std::shared_ptr<types::ILangStringTextType>
9025 that->description().value()
9027 const std::size_t size = value.size();
9030 std::shared_ptr<types::ILangStringTextType>
9032 wrapped.reserve(size);
9035 const std::shared_ptr<types::ILangStringTextType>& item
9038 wrapped.emplace_back(
9046 that->set_description(
9047 common::make_optional(
9053 if (that->semantic_id().has_value()) {
9054 const std::shared_ptr<types::IReference>& value(
9055 that->semantic_id().value()
9067 that->set_semantic_id(
9068 common::make_optional(
9074 if (that->supplemental_semantic_ids().has_value()) {
9076 std::shared_ptr<types::IReference>
9078 that->supplemental_semantic_ids().value()
9080 const std::size_t size = value.size();
9083 std::shared_ptr<types::IReference>
9085 wrapped.reserve(size);
9088 const std::shared_ptr<types::IReference>& item
9091 wrapped.emplace_back(
9099 that->set_supplemental_semantic_ids(
9100 common::make_optional(
9106 if (that->qualifiers().has_value()) {
9108 std::shared_ptr<types::IQualifier>
9110 that->qualifiers().value()
9112 const std::size_t size = value.size();
9115 std::shared_ptr<types::IQualifier>
9117 wrapped.reserve(size);
9120 const std::shared_ptr<types::IQualifier>& item
9123 wrapped.emplace_back(
9131 that->set_qualifiers(
9132 common::make_optional(
9138 if (that->embedded_data_specifications().has_value()) {
9140 std::shared_ptr<types::IEmbeddedDataSpecification>
9142 that->embedded_data_specifications().value()
9144 const std::size_t size = value.size();
9147 std::shared_ptr<types::IEmbeddedDataSpecification>
9149 wrapped.reserve(size);
9152 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9155 wrapped.emplace_back(
9163 that->set_embedded_data_specifications(
9164 common::make_optional(
9170 if (that->first().has_value()) {
9171 const std::shared_ptr<types::IReference>& value(
9172 that->first().value()
9185 common::make_optional(
9191 if (that->second().has_value()) {
9192 const std::shared_ptr<types::IReference>& value(
9193 that->second().value()
9206 common::make_optional(
9212 std::shared_ptr<E> enh(
9215 return (enh ==
nullptr)
9217 : std::shared_ptr<types::IRelationshipElement>(
9218 new EnhancedRelationshipElement<E>(
9235std::shared_ptr<types::ISubmodelElementList> WrapSubmodelElementList(
9236 const std::shared_ptr<types::ISubmodelElementList>& that,
9237 const std::function<
9239 const std::shared_ptr<types::IClass>&
9246 if (that->extensions().has_value()) {
9248 std::shared_ptr<types::IExtension>
9250 that->extensions().value()
9252 const std::size_t size = value.size();
9255 std::shared_ptr<types::IExtension>
9257 wrapped.reserve(size);
9260 const std::shared_ptr<types::IExtension>& item
9263 wrapped.emplace_back(
9271 that->set_extensions(
9272 common::make_optional(
9278 if (that->display_name().has_value()) {
9280 std::shared_ptr<types::ILangStringNameType>
9282 that->display_name().value()
9284 const std::size_t size = value.size();
9287 std::shared_ptr<types::ILangStringNameType>
9289 wrapped.reserve(size);
9292 const std::shared_ptr<types::ILangStringNameType>& item
9295 wrapped.emplace_back(
9303 that->set_display_name(
9304 common::make_optional(
9310 if (that->description().has_value()) {
9312 std::shared_ptr<types::ILangStringTextType>
9314 that->description().value()
9316 const std::size_t size = value.size();
9319 std::shared_ptr<types::ILangStringTextType>
9321 wrapped.reserve(size);
9324 const std::shared_ptr<types::ILangStringTextType>& item
9327 wrapped.emplace_back(
9335 that->set_description(
9336 common::make_optional(
9342 if (that->semantic_id().has_value()) {
9343 const std::shared_ptr<types::IReference>& value(
9344 that->semantic_id().value()
9356 that->set_semantic_id(
9357 common::make_optional(
9363 if (that->supplemental_semantic_ids().has_value()) {
9365 std::shared_ptr<types::IReference>
9367 that->supplemental_semantic_ids().value()
9369 const std::size_t size = value.size();
9372 std::shared_ptr<types::IReference>
9374 wrapped.reserve(size);
9377 const std::shared_ptr<types::IReference>& item
9380 wrapped.emplace_back(
9388 that->set_supplemental_semantic_ids(
9389 common::make_optional(
9395 if (that->qualifiers().has_value()) {
9397 std::shared_ptr<types::IQualifier>
9399 that->qualifiers().value()
9401 const std::size_t size = value.size();
9404 std::shared_ptr<types::IQualifier>
9406 wrapped.reserve(size);
9409 const std::shared_ptr<types::IQualifier>& item
9412 wrapped.emplace_back(
9420 that->set_qualifiers(
9421 common::make_optional(
9427 if (that->embedded_data_specifications().has_value()) {
9429 std::shared_ptr<types::IEmbeddedDataSpecification>
9431 that->embedded_data_specifications().value()
9433 const std::size_t size = value.size();
9436 std::shared_ptr<types::IEmbeddedDataSpecification>
9438 wrapped.reserve(size);
9441 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9444 wrapped.emplace_back(
9452 that->set_embedded_data_specifications(
9453 common::make_optional(
9459 if (that->semantic_id_list_element().has_value()) {
9460 const std::shared_ptr<types::IReference>& value(
9461 that->semantic_id_list_element().value()
9473 that->set_semantic_id_list_element(
9474 common::make_optional(
9480 if (that->value().has_value()) {
9482 std::shared_ptr<types::ISubmodelElement>
9484 that->value().value()
9486 const std::size_t size = value.size();
9489 std::shared_ptr<types::ISubmodelElement>
9491 wrapped.reserve(size);
9494 const std::shared_ptr<types::ISubmodelElement>& item
9497 wrapped.emplace_back(
9506 common::make_optional(
9512 std::shared_ptr<E> enh(
9515 return (enh ==
nullptr)
9517 : std::shared_ptr<types::ISubmodelElementList>(
9518 new EnhancedSubmodelElementList<E>(
9535std::shared_ptr<types::ISubmodelElementCollection> WrapSubmodelElementCollection(
9536 const std::shared_ptr<types::ISubmodelElementCollection>& that,
9537 const std::function<
9539 const std::shared_ptr<types::IClass>&
9546 if (that->extensions().has_value()) {
9548 std::shared_ptr<types::IExtension>
9550 that->extensions().value()
9552 const std::size_t size = value.size();
9555 std::shared_ptr<types::IExtension>
9557 wrapped.reserve(size);
9560 const std::shared_ptr<types::IExtension>& item
9563 wrapped.emplace_back(
9571 that->set_extensions(
9572 common::make_optional(
9578 if (that->display_name().has_value()) {
9580 std::shared_ptr<types::ILangStringNameType>
9582 that->display_name().value()
9584 const std::size_t size = value.size();
9587 std::shared_ptr<types::ILangStringNameType>
9589 wrapped.reserve(size);
9592 const std::shared_ptr<types::ILangStringNameType>& item
9595 wrapped.emplace_back(
9603 that->set_display_name(
9604 common::make_optional(
9610 if (that->description().has_value()) {
9612 std::shared_ptr<types::ILangStringTextType>
9614 that->description().value()
9616 const std::size_t size = value.size();
9619 std::shared_ptr<types::ILangStringTextType>
9621 wrapped.reserve(size);
9624 const std::shared_ptr<types::ILangStringTextType>& item
9627 wrapped.emplace_back(
9635 that->set_description(
9636 common::make_optional(
9642 if (that->semantic_id().has_value()) {
9643 const std::shared_ptr<types::IReference>& value(
9644 that->semantic_id().value()
9656 that->set_semantic_id(
9657 common::make_optional(
9663 if (that->supplemental_semantic_ids().has_value()) {
9665 std::shared_ptr<types::IReference>
9667 that->supplemental_semantic_ids().value()
9669 const std::size_t size = value.size();
9672 std::shared_ptr<types::IReference>
9674 wrapped.reserve(size);
9677 const std::shared_ptr<types::IReference>& item
9680 wrapped.emplace_back(
9688 that->set_supplemental_semantic_ids(
9689 common::make_optional(
9695 if (that->qualifiers().has_value()) {
9697 std::shared_ptr<types::IQualifier>
9699 that->qualifiers().value()
9701 const std::size_t size = value.size();
9704 std::shared_ptr<types::IQualifier>
9706 wrapped.reserve(size);
9709 const std::shared_ptr<types::IQualifier>& item
9712 wrapped.emplace_back(
9720 that->set_qualifiers(
9721 common::make_optional(
9727 if (that->embedded_data_specifications().has_value()) {
9729 std::shared_ptr<types::IEmbeddedDataSpecification>
9731 that->embedded_data_specifications().value()
9733 const std::size_t size = value.size();
9736 std::shared_ptr<types::IEmbeddedDataSpecification>
9738 wrapped.reserve(size);
9741 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
9744 wrapped.emplace_back(
9752 that->set_embedded_data_specifications(
9753 common::make_optional(
9759 if (that->value().has_value()) {
9761 std::shared_ptr<types::ISubmodelElement>
9763 that->value().value()
9765 const std::size_t size = value.size();
9768 std::shared_ptr<types::ISubmodelElement>
9770 wrapped.reserve(size);
9773 const std::shared_ptr<types::ISubmodelElement>& item
9776 wrapped.emplace_back(
9785 common::make_optional(
9791 std::shared_ptr<E> enh(
9794 return (enh ==
nullptr)
9796 : std::shared_ptr<types::ISubmodelElementCollection>(
9797 new EnhancedSubmodelElementCollection<E>(
9814std::shared_ptr<types::IProperty> WrapProperty(
9815 const std::shared_ptr<types::IProperty>& that,
9816 const std::function<
9818 const std::shared_ptr<types::IClass>&
9825 if (that->extensions().has_value()) {
9827 std::shared_ptr<types::IExtension>
9829 that->extensions().value()
9831 const std::size_t size = value.size();
9834 std::shared_ptr<types::IExtension>
9836 wrapped.reserve(size);
9839 const std::shared_ptr<types::IExtension>& item
9842 wrapped.emplace_back(
9850 that->set_extensions(
9851 common::make_optional(
9857 if (that->display_name().has_value()) {
9859 std::shared_ptr<types::ILangStringNameType>
9861 that->display_name().value()
9863 const std::size_t size = value.size();
9866 std::shared_ptr<types::ILangStringNameType>
9868 wrapped.reserve(size);
9871 const std::shared_ptr<types::ILangStringNameType>& item
9874 wrapped.emplace_back(
9882 that->set_display_name(
9883 common::make_optional(
9889 if (that->description().has_value()) {
9891 std::shared_ptr<types::ILangStringTextType>
9893 that->description().value()
9895 const std::size_t size = value.size();
9898 std::shared_ptr<types::ILangStringTextType>
9900 wrapped.reserve(size);
9903 const std::shared_ptr<types::ILangStringTextType>& item
9906 wrapped.emplace_back(
9914 that->set_description(
9915 common::make_optional(
9921 if (that->semantic_id().has_value()) {
9922 const std::shared_ptr<types::IReference>& value(
9923 that->semantic_id().value()
9935 that->set_semantic_id(
9936 common::make_optional(
9942 if (that->supplemental_semantic_ids().has_value()) {
9944 std::shared_ptr<types::IReference>
9946 that->supplemental_semantic_ids().value()
9948 const std::size_t size = value.size();
9951 std::shared_ptr<types::IReference>
9953 wrapped.reserve(size);
9956 const std::shared_ptr<types::IReference>& item
9959 wrapped.emplace_back(
9967 that->set_supplemental_semantic_ids(
9968 common::make_optional(
9974 if (that->qualifiers().has_value()) {
9976 std::shared_ptr<types::IQualifier>
9978 that->qualifiers().value()
9980 const std::size_t size = value.size();
9983 std::shared_ptr<types::IQualifier>
9985 wrapped.reserve(size);
9988 const std::shared_ptr<types::IQualifier>& item
9991 wrapped.emplace_back(
9999 that->set_qualifiers(
10000 common::make_optional(
10006 if (that->embedded_data_specifications().has_value()) {
10008 std::shared_ptr<types::IEmbeddedDataSpecification>
10010 that->embedded_data_specifications().value()
10012 const std::size_t size = value.size();
10015 std::shared_ptr<types::IEmbeddedDataSpecification>
10017 wrapped.reserve(size);
10020 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10023 wrapped.emplace_back(
10031 that->set_embedded_data_specifications(
10032 common::make_optional(
10038 if (that->value_id().has_value()) {
10039 const std::shared_ptr<types::IReference>& value(
10040 that->value_id().value()
10052 that->set_value_id(
10053 common::make_optional(
10059 std::shared_ptr<E> enh(
10062 return (enh ==
nullptr)
10064 : std::shared_ptr<types::IProperty>(
10065 new EnhancedProperty<E>(
10081template<
typename E>
10082std::shared_ptr<types::IMultiLanguageProperty> WrapMultiLanguageProperty(
10083 const std::shared_ptr<types::IMultiLanguageProperty>& that,
10084 const std::function<
10085 std::shared_ptr<E>(
10086 const std::shared_ptr<types::IClass>&
10093 if (that->extensions().has_value()) {
10095 std::shared_ptr<types::IExtension>
10097 that->extensions().value()
10099 const std::size_t size = value.size();
10102 std::shared_ptr<types::IExtension>
10104 wrapped.reserve(size);
10107 const std::shared_ptr<types::IExtension>& item
10110 wrapped.emplace_back(
10118 that->set_extensions(
10119 common::make_optional(
10125 if (that->display_name().has_value()) {
10127 std::shared_ptr<types::ILangStringNameType>
10129 that->display_name().value()
10131 const std::size_t size = value.size();
10134 std::shared_ptr<types::ILangStringNameType>
10136 wrapped.reserve(size);
10139 const std::shared_ptr<types::ILangStringNameType>& item
10142 wrapped.emplace_back(
10150 that->set_display_name(
10151 common::make_optional(
10157 if (that->description().has_value()) {
10159 std::shared_ptr<types::ILangStringTextType>
10161 that->description().value()
10163 const std::size_t size = value.size();
10166 std::shared_ptr<types::ILangStringTextType>
10168 wrapped.reserve(size);
10171 const std::shared_ptr<types::ILangStringTextType>& item
10174 wrapped.emplace_back(
10182 that->set_description(
10183 common::make_optional(
10189 if (that->semantic_id().has_value()) {
10190 const std::shared_ptr<types::IReference>& value(
10191 that->semantic_id().value()
10203 that->set_semantic_id(
10204 common::make_optional(
10210 if (that->supplemental_semantic_ids().has_value()) {
10212 std::shared_ptr<types::IReference>
10214 that->supplemental_semantic_ids().value()
10216 const std::size_t size = value.size();
10219 std::shared_ptr<types::IReference>
10221 wrapped.reserve(size);
10224 const std::shared_ptr<types::IReference>& item
10227 wrapped.emplace_back(
10235 that->set_supplemental_semantic_ids(
10236 common::make_optional(
10242 if (that->qualifiers().has_value()) {
10244 std::shared_ptr<types::IQualifier>
10246 that->qualifiers().value()
10248 const std::size_t size = value.size();
10251 std::shared_ptr<types::IQualifier>
10253 wrapped.reserve(size);
10256 const std::shared_ptr<types::IQualifier>& item
10259 wrapped.emplace_back(
10267 that->set_qualifiers(
10268 common::make_optional(
10274 if (that->embedded_data_specifications().has_value()) {
10276 std::shared_ptr<types::IEmbeddedDataSpecification>
10278 that->embedded_data_specifications().value()
10280 const std::size_t size = value.size();
10283 std::shared_ptr<types::IEmbeddedDataSpecification>
10285 wrapped.reserve(size);
10288 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10291 wrapped.emplace_back(
10299 that->set_embedded_data_specifications(
10300 common::make_optional(
10306 if (that->value().has_value()) {
10308 std::shared_ptr<types::ILangStringTextType>
10310 that->value().value()
10312 const std::size_t size = value.size();
10315 std::shared_ptr<types::ILangStringTextType>
10317 wrapped.reserve(size);
10320 const std::shared_ptr<types::ILangStringTextType>& item
10323 wrapped.emplace_back(
10332 common::make_optional(
10338 if (that->value_id().has_value()) {
10339 const std::shared_ptr<types::IReference>& value(
10340 that->value_id().value()
10352 that->set_value_id(
10353 common::make_optional(
10359 std::shared_ptr<E> enh(
10362 return (enh ==
nullptr)
10364 : std::shared_ptr<types::IMultiLanguageProperty>(
10365 new EnhancedMultiLanguageProperty<E>(
10381template<
typename E>
10382std::shared_ptr<types::IRange> WrapRange(
10383 const std::shared_ptr<types::IRange>& that,
10384 const std::function<
10385 std::shared_ptr<E>(
10386 const std::shared_ptr<types::IClass>&
10393 if (that->extensions().has_value()) {
10395 std::shared_ptr<types::IExtension>
10397 that->extensions().value()
10399 const std::size_t size = value.size();
10402 std::shared_ptr<types::IExtension>
10404 wrapped.reserve(size);
10407 const std::shared_ptr<types::IExtension>& item
10410 wrapped.emplace_back(
10418 that->set_extensions(
10419 common::make_optional(
10425 if (that->display_name().has_value()) {
10427 std::shared_ptr<types::ILangStringNameType>
10429 that->display_name().value()
10431 const std::size_t size = value.size();
10434 std::shared_ptr<types::ILangStringNameType>
10436 wrapped.reserve(size);
10439 const std::shared_ptr<types::ILangStringNameType>& item
10442 wrapped.emplace_back(
10450 that->set_display_name(
10451 common::make_optional(
10457 if (that->description().has_value()) {
10459 std::shared_ptr<types::ILangStringTextType>
10461 that->description().value()
10463 const std::size_t size = value.size();
10466 std::shared_ptr<types::ILangStringTextType>
10468 wrapped.reserve(size);
10471 const std::shared_ptr<types::ILangStringTextType>& item
10474 wrapped.emplace_back(
10482 that->set_description(
10483 common::make_optional(
10489 if (that->semantic_id().has_value()) {
10490 const std::shared_ptr<types::IReference>& value(
10491 that->semantic_id().value()
10503 that->set_semantic_id(
10504 common::make_optional(
10510 if (that->supplemental_semantic_ids().has_value()) {
10512 std::shared_ptr<types::IReference>
10514 that->supplemental_semantic_ids().value()
10516 const std::size_t size = value.size();
10519 std::shared_ptr<types::IReference>
10521 wrapped.reserve(size);
10524 const std::shared_ptr<types::IReference>& item
10527 wrapped.emplace_back(
10535 that->set_supplemental_semantic_ids(
10536 common::make_optional(
10542 if (that->qualifiers().has_value()) {
10544 std::shared_ptr<types::IQualifier>
10546 that->qualifiers().value()
10548 const std::size_t size = value.size();
10551 std::shared_ptr<types::IQualifier>
10553 wrapped.reserve(size);
10556 const std::shared_ptr<types::IQualifier>& item
10559 wrapped.emplace_back(
10567 that->set_qualifiers(
10568 common::make_optional(
10574 if (that->embedded_data_specifications().has_value()) {
10576 std::shared_ptr<types::IEmbeddedDataSpecification>
10578 that->embedded_data_specifications().value()
10580 const std::size_t size = value.size();
10583 std::shared_ptr<types::IEmbeddedDataSpecification>
10585 wrapped.reserve(size);
10588 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10591 wrapped.emplace_back(
10599 that->set_embedded_data_specifications(
10600 common::make_optional(
10606 std::shared_ptr<E> enh(
10609 return (enh ==
nullptr)
10611 : std::shared_ptr<types::IRange>(
10612 new EnhancedRange<E>(
10628template<
typename E>
10629std::shared_ptr<types::IReferenceElement> WrapReferenceElement(
10630 const std::shared_ptr<types::IReferenceElement>& that,
10631 const std::function<
10632 std::shared_ptr<E>(
10633 const std::shared_ptr<types::IClass>&
10640 if (that->extensions().has_value()) {
10642 std::shared_ptr<types::IExtension>
10644 that->extensions().value()
10646 const std::size_t size = value.size();
10649 std::shared_ptr<types::IExtension>
10651 wrapped.reserve(size);
10654 const std::shared_ptr<types::IExtension>& item
10657 wrapped.emplace_back(
10665 that->set_extensions(
10666 common::make_optional(
10672 if (that->display_name().has_value()) {
10674 std::shared_ptr<types::ILangStringNameType>
10676 that->display_name().value()
10678 const std::size_t size = value.size();
10681 std::shared_ptr<types::ILangStringNameType>
10683 wrapped.reserve(size);
10686 const std::shared_ptr<types::ILangStringNameType>& item
10689 wrapped.emplace_back(
10697 that->set_display_name(
10698 common::make_optional(
10704 if (that->description().has_value()) {
10706 std::shared_ptr<types::ILangStringTextType>
10708 that->description().value()
10710 const std::size_t size = value.size();
10713 std::shared_ptr<types::ILangStringTextType>
10715 wrapped.reserve(size);
10718 const std::shared_ptr<types::ILangStringTextType>& item
10721 wrapped.emplace_back(
10729 that->set_description(
10730 common::make_optional(
10736 if (that->semantic_id().has_value()) {
10737 const std::shared_ptr<types::IReference>& value(
10738 that->semantic_id().value()
10750 that->set_semantic_id(
10751 common::make_optional(
10757 if (that->supplemental_semantic_ids().has_value()) {
10759 std::shared_ptr<types::IReference>
10761 that->supplemental_semantic_ids().value()
10763 const std::size_t size = value.size();
10766 std::shared_ptr<types::IReference>
10768 wrapped.reserve(size);
10771 const std::shared_ptr<types::IReference>& item
10774 wrapped.emplace_back(
10782 that->set_supplemental_semantic_ids(
10783 common::make_optional(
10789 if (that->qualifiers().has_value()) {
10791 std::shared_ptr<types::IQualifier>
10793 that->qualifiers().value()
10795 const std::size_t size = value.size();
10798 std::shared_ptr<types::IQualifier>
10800 wrapped.reserve(size);
10803 const std::shared_ptr<types::IQualifier>& item
10806 wrapped.emplace_back(
10814 that->set_qualifiers(
10815 common::make_optional(
10821 if (that->embedded_data_specifications().has_value()) {
10823 std::shared_ptr<types::IEmbeddedDataSpecification>
10825 that->embedded_data_specifications().value()
10827 const std::size_t size = value.size();
10830 std::shared_ptr<types::IEmbeddedDataSpecification>
10832 wrapped.reserve(size);
10835 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
10838 wrapped.emplace_back(
10846 that->set_embedded_data_specifications(
10847 common::make_optional(
10853 if (that->value().has_value()) {
10854 const std::shared_ptr<types::IReference>& value(
10855 that->value().value()
10868 common::make_optional(
10874 std::shared_ptr<E> enh(
10877 return (enh ==
nullptr)
10879 : std::shared_ptr<types::IReferenceElement>(
10880 new EnhancedReferenceElement<E>(
10896template<
typename E>
10897std::shared_ptr<types::IBlob> WrapBlob(
10898 const std::shared_ptr<types::IBlob>& that,
10899 const std::function<
10900 std::shared_ptr<E>(
10901 const std::shared_ptr<types::IClass>&
10908 if (that->extensions().has_value()) {
10910 std::shared_ptr<types::IExtension>
10912 that->extensions().value()
10914 const std::size_t size = value.size();
10917 std::shared_ptr<types::IExtension>
10919 wrapped.reserve(size);
10922 const std::shared_ptr<types::IExtension>& item
10925 wrapped.emplace_back(
10933 that->set_extensions(
10934 common::make_optional(
10940 if (that->display_name().has_value()) {
10942 std::shared_ptr<types::ILangStringNameType>
10944 that->display_name().value()
10946 const std::size_t size = value.size();
10949 std::shared_ptr<types::ILangStringNameType>
10951 wrapped.reserve(size);
10954 const std::shared_ptr<types::ILangStringNameType>& item
10957 wrapped.emplace_back(
10965 that->set_display_name(
10966 common::make_optional(
10972 if (that->description().has_value()) {
10974 std::shared_ptr<types::ILangStringTextType>
10976 that->description().value()
10978 const std::size_t size = value.size();
10981 std::shared_ptr<types::ILangStringTextType>
10983 wrapped.reserve(size);
10986 const std::shared_ptr<types::ILangStringTextType>& item
10989 wrapped.emplace_back(
10997 that->set_description(
10998 common::make_optional(
11004 if (that->semantic_id().has_value()) {
11005 const std::shared_ptr<types::IReference>& value(
11006 that->semantic_id().value()
11018 that->set_semantic_id(
11019 common::make_optional(
11025 if (that->supplemental_semantic_ids().has_value()) {
11027 std::shared_ptr<types::IReference>
11029 that->supplemental_semantic_ids().value()
11031 const std::size_t size = value.size();
11034 std::shared_ptr<types::IReference>
11036 wrapped.reserve(size);
11039 const std::shared_ptr<types::IReference>& item
11042 wrapped.emplace_back(
11050 that->set_supplemental_semantic_ids(
11051 common::make_optional(
11057 if (that->qualifiers().has_value()) {
11059 std::shared_ptr<types::IQualifier>
11061 that->qualifiers().value()
11063 const std::size_t size = value.size();
11066 std::shared_ptr<types::IQualifier>
11068 wrapped.reserve(size);
11071 const std::shared_ptr<types::IQualifier>& item
11074 wrapped.emplace_back(
11082 that->set_qualifiers(
11083 common::make_optional(
11089 if (that->embedded_data_specifications().has_value()) {
11091 std::shared_ptr<types::IEmbeddedDataSpecification>
11093 that->embedded_data_specifications().value()
11095 const std::size_t size = value.size();
11098 std::shared_ptr<types::IEmbeddedDataSpecification>
11100 wrapped.reserve(size);
11103 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11106 wrapped.emplace_back(
11114 that->set_embedded_data_specifications(
11115 common::make_optional(
11121 std::shared_ptr<E> enh(
11124 return (enh ==
nullptr)
11126 : std::shared_ptr<types::IBlob>(
11127 new EnhancedBlob<E>(
11143template<
typename E>
11144std::shared_ptr<types::IFile> WrapFile(
11145 const std::shared_ptr<types::IFile>& that,
11146 const std::function<
11147 std::shared_ptr<E>(
11148 const std::shared_ptr<types::IClass>&
11155 if (that->extensions().has_value()) {
11157 std::shared_ptr<types::IExtension>
11159 that->extensions().value()
11161 const std::size_t size = value.size();
11164 std::shared_ptr<types::IExtension>
11166 wrapped.reserve(size);
11169 const std::shared_ptr<types::IExtension>& item
11172 wrapped.emplace_back(
11180 that->set_extensions(
11181 common::make_optional(
11187 if (that->display_name().has_value()) {
11189 std::shared_ptr<types::ILangStringNameType>
11191 that->display_name().value()
11193 const std::size_t size = value.size();
11196 std::shared_ptr<types::ILangStringNameType>
11198 wrapped.reserve(size);
11201 const std::shared_ptr<types::ILangStringNameType>& item
11204 wrapped.emplace_back(
11212 that->set_display_name(
11213 common::make_optional(
11219 if (that->description().has_value()) {
11221 std::shared_ptr<types::ILangStringTextType>
11223 that->description().value()
11225 const std::size_t size = value.size();
11228 std::shared_ptr<types::ILangStringTextType>
11230 wrapped.reserve(size);
11233 const std::shared_ptr<types::ILangStringTextType>& item
11236 wrapped.emplace_back(
11244 that->set_description(
11245 common::make_optional(
11251 if (that->semantic_id().has_value()) {
11252 const std::shared_ptr<types::IReference>& value(
11253 that->semantic_id().value()
11265 that->set_semantic_id(
11266 common::make_optional(
11272 if (that->supplemental_semantic_ids().has_value()) {
11274 std::shared_ptr<types::IReference>
11276 that->supplemental_semantic_ids().value()
11278 const std::size_t size = value.size();
11281 std::shared_ptr<types::IReference>
11283 wrapped.reserve(size);
11286 const std::shared_ptr<types::IReference>& item
11289 wrapped.emplace_back(
11297 that->set_supplemental_semantic_ids(
11298 common::make_optional(
11304 if (that->qualifiers().has_value()) {
11306 std::shared_ptr<types::IQualifier>
11308 that->qualifiers().value()
11310 const std::size_t size = value.size();
11313 std::shared_ptr<types::IQualifier>
11315 wrapped.reserve(size);
11318 const std::shared_ptr<types::IQualifier>& item
11321 wrapped.emplace_back(
11329 that->set_qualifiers(
11330 common::make_optional(
11336 if (that->embedded_data_specifications().has_value()) {
11338 std::shared_ptr<types::IEmbeddedDataSpecification>
11340 that->embedded_data_specifications().value()
11342 const std::size_t size = value.size();
11345 std::shared_ptr<types::IEmbeddedDataSpecification>
11347 wrapped.reserve(size);
11350 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11353 wrapped.emplace_back(
11361 that->set_embedded_data_specifications(
11362 common::make_optional(
11368 std::shared_ptr<E> enh(
11371 return (enh ==
nullptr)
11373 : std::shared_ptr<types::IFile>(
11374 new EnhancedFile<E>(
11390template<
typename E>
11391std::shared_ptr<types::IAnnotatedRelationshipElement> WrapAnnotatedRelationshipElement(
11392 const std::shared_ptr<types::IAnnotatedRelationshipElement>& that,
11393 const std::function<
11394 std::shared_ptr<E>(
11395 const std::shared_ptr<types::IClass>&
11402 if (that->extensions().has_value()) {
11404 std::shared_ptr<types::IExtension>
11406 that->extensions().value()
11408 const std::size_t size = value.size();
11411 std::shared_ptr<types::IExtension>
11413 wrapped.reserve(size);
11416 const std::shared_ptr<types::IExtension>& item
11419 wrapped.emplace_back(
11427 that->set_extensions(
11428 common::make_optional(
11434 if (that->display_name().has_value()) {
11436 std::shared_ptr<types::ILangStringNameType>
11438 that->display_name().value()
11440 const std::size_t size = value.size();
11443 std::shared_ptr<types::ILangStringNameType>
11445 wrapped.reserve(size);
11448 const std::shared_ptr<types::ILangStringNameType>& item
11451 wrapped.emplace_back(
11459 that->set_display_name(
11460 common::make_optional(
11466 if (that->description().has_value()) {
11468 std::shared_ptr<types::ILangStringTextType>
11470 that->description().value()
11472 const std::size_t size = value.size();
11475 std::shared_ptr<types::ILangStringTextType>
11477 wrapped.reserve(size);
11480 const std::shared_ptr<types::ILangStringTextType>& item
11483 wrapped.emplace_back(
11491 that->set_description(
11492 common::make_optional(
11498 if (that->semantic_id().has_value()) {
11499 const std::shared_ptr<types::IReference>& value(
11500 that->semantic_id().value()
11512 that->set_semantic_id(
11513 common::make_optional(
11519 if (that->supplemental_semantic_ids().has_value()) {
11521 std::shared_ptr<types::IReference>
11523 that->supplemental_semantic_ids().value()
11525 const std::size_t size = value.size();
11528 std::shared_ptr<types::IReference>
11530 wrapped.reserve(size);
11533 const std::shared_ptr<types::IReference>& item
11536 wrapped.emplace_back(
11544 that->set_supplemental_semantic_ids(
11545 common::make_optional(
11551 if (that->qualifiers().has_value()) {
11553 std::shared_ptr<types::IQualifier>
11555 that->qualifiers().value()
11557 const std::size_t size = value.size();
11560 std::shared_ptr<types::IQualifier>
11562 wrapped.reserve(size);
11565 const std::shared_ptr<types::IQualifier>& item
11568 wrapped.emplace_back(
11576 that->set_qualifiers(
11577 common::make_optional(
11583 if (that->embedded_data_specifications().has_value()) {
11585 std::shared_ptr<types::IEmbeddedDataSpecification>
11587 that->embedded_data_specifications().value()
11589 const std::size_t size = value.size();
11592 std::shared_ptr<types::IEmbeddedDataSpecification>
11594 wrapped.reserve(size);
11597 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11600 wrapped.emplace_back(
11608 that->set_embedded_data_specifications(
11609 common::make_optional(
11615 if (that->first().has_value()) {
11616 const std::shared_ptr<types::IReference>& value(
11617 that->first().value()
11630 common::make_optional(
11636 if (that->second().has_value()) {
11637 const std::shared_ptr<types::IReference>& value(
11638 that->second().value()
11651 common::make_optional(
11657 if (that->annotations().has_value()) {
11659 std::shared_ptr<types::IDataElement>
11661 that->annotations().value()
11663 const std::size_t size = value.size();
11666 std::shared_ptr<types::IDataElement>
11668 wrapped.reserve(size);
11671 const std::shared_ptr<types::IDataElement>& item
11674 wrapped.emplace_back(
11682 that->set_annotations(
11683 common::make_optional(
11689 std::shared_ptr<E> enh(
11692 return (enh ==
nullptr)
11694 : std::shared_ptr<types::IAnnotatedRelationshipElement>(
11695 new EnhancedAnnotatedRelationshipElement<E>(
11711template<
typename E>
11712std::shared_ptr<types::IEntity> WrapEntity(
11713 const std::shared_ptr<types::IEntity>& that,
11714 const std::function<
11715 std::shared_ptr<E>(
11716 const std::shared_ptr<types::IClass>&
11723 if (that->extensions().has_value()) {
11725 std::shared_ptr<types::IExtension>
11727 that->extensions().value()
11729 const std::size_t size = value.size();
11732 std::shared_ptr<types::IExtension>
11734 wrapped.reserve(size);
11737 const std::shared_ptr<types::IExtension>& item
11740 wrapped.emplace_back(
11748 that->set_extensions(
11749 common::make_optional(
11755 if (that->display_name().has_value()) {
11757 std::shared_ptr<types::ILangStringNameType>
11759 that->display_name().value()
11761 const std::size_t size = value.size();
11764 std::shared_ptr<types::ILangStringNameType>
11766 wrapped.reserve(size);
11769 const std::shared_ptr<types::ILangStringNameType>& item
11772 wrapped.emplace_back(
11780 that->set_display_name(
11781 common::make_optional(
11787 if (that->description().has_value()) {
11789 std::shared_ptr<types::ILangStringTextType>
11791 that->description().value()
11793 const std::size_t size = value.size();
11796 std::shared_ptr<types::ILangStringTextType>
11798 wrapped.reserve(size);
11801 const std::shared_ptr<types::ILangStringTextType>& item
11804 wrapped.emplace_back(
11812 that->set_description(
11813 common::make_optional(
11819 if (that->semantic_id().has_value()) {
11820 const std::shared_ptr<types::IReference>& value(
11821 that->semantic_id().value()
11833 that->set_semantic_id(
11834 common::make_optional(
11840 if (that->supplemental_semantic_ids().has_value()) {
11842 std::shared_ptr<types::IReference>
11844 that->supplemental_semantic_ids().value()
11846 const std::size_t size = value.size();
11849 std::shared_ptr<types::IReference>
11851 wrapped.reserve(size);
11854 const std::shared_ptr<types::IReference>& item
11857 wrapped.emplace_back(
11865 that->set_supplemental_semantic_ids(
11866 common::make_optional(
11872 if (that->qualifiers().has_value()) {
11874 std::shared_ptr<types::IQualifier>
11876 that->qualifiers().value()
11878 const std::size_t size = value.size();
11881 std::shared_ptr<types::IQualifier>
11883 wrapped.reserve(size);
11886 const std::shared_ptr<types::IQualifier>& item
11889 wrapped.emplace_back(
11897 that->set_qualifiers(
11898 common::make_optional(
11904 if (that->embedded_data_specifications().has_value()) {
11906 std::shared_ptr<types::IEmbeddedDataSpecification>
11908 that->embedded_data_specifications().value()
11910 const std::size_t size = value.size();
11913 std::shared_ptr<types::IEmbeddedDataSpecification>
11915 wrapped.reserve(size);
11918 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
11921 wrapped.emplace_back(
11929 that->set_embedded_data_specifications(
11930 common::make_optional(
11936 if (that->statements().has_value()) {
11938 std::shared_ptr<types::ISubmodelElement>
11940 that->statements().value()
11942 const std::size_t size = value.size();
11945 std::shared_ptr<types::ISubmodelElement>
11947 wrapped.reserve(size);
11950 const std::shared_ptr<types::ISubmodelElement>& item
11953 wrapped.emplace_back(
11961 that->set_statements(
11962 common::make_optional(
11968 if (that->specific_asset_ids().has_value()) {
11970 std::shared_ptr<types::ISpecificAssetId>
11972 that->specific_asset_ids().value()
11974 const std::size_t size = value.size();
11977 std::shared_ptr<types::ISpecificAssetId>
11979 wrapped.reserve(size);
11982 const std::shared_ptr<types::ISpecificAssetId>& item
11985 wrapped.emplace_back(
11993 that->set_specific_asset_ids(
11994 common::make_optional(
12000 std::shared_ptr<E> enh(
12003 return (enh ==
nullptr)
12005 : std::shared_ptr<types::IEntity>(
12006 new EnhancedEntity<E>(
12022template<
typename E>
12023std::shared_ptr<types::IEventPayload> WrapEventPayload(
12024 const std::shared_ptr<types::IEventPayload>& that,
12025 const std::function<
12026 std::shared_ptr<E>(
12027 const std::shared_ptr<types::IClass>&
12041 if (that->source_semantic_id().has_value()) {
12042 const std::shared_ptr<types::IReference>& value(
12043 that->source_semantic_id().value()
12055 that->set_source_semantic_id(
12056 common::make_optional(
12062 that->set_observable_reference(
12064 that->observable_reference(),
12069 if (that->observable_semantic_id().has_value()) {
12070 const std::shared_ptr<types::IReference>& value(
12071 that->observable_semantic_id().value()
12083 that->set_observable_semantic_id(
12084 common::make_optional(
12090 if (that->subject_id().has_value()) {
12091 const std::shared_ptr<types::IReference>& value(
12092 that->subject_id().value()
12104 that->set_subject_id(
12105 common::make_optional(
12111 std::shared_ptr<E> enh(
12114 return (enh ==
nullptr)
12116 : std::shared_ptr<types::IEventPayload>(
12117 new EnhancedEventPayload<E>(
12133template<
typename E>
12134std::shared_ptr<types::IBasicEventElement> WrapBasicEventElement(
12135 const std::shared_ptr<types::IBasicEventElement>& that,
12136 const std::function<
12137 std::shared_ptr<E>(
12138 const std::shared_ptr<types::IClass>&
12145 if (that->extensions().has_value()) {
12147 std::shared_ptr<types::IExtension>
12149 that->extensions().value()
12151 const std::size_t size = value.size();
12154 std::shared_ptr<types::IExtension>
12156 wrapped.reserve(size);
12159 const std::shared_ptr<types::IExtension>& item
12162 wrapped.emplace_back(
12170 that->set_extensions(
12171 common::make_optional(
12177 if (that->display_name().has_value()) {
12179 std::shared_ptr<types::ILangStringNameType>
12181 that->display_name().value()
12183 const std::size_t size = value.size();
12186 std::shared_ptr<types::ILangStringNameType>
12188 wrapped.reserve(size);
12191 const std::shared_ptr<types::ILangStringNameType>& item
12194 wrapped.emplace_back(
12202 that->set_display_name(
12203 common::make_optional(
12209 if (that->description().has_value()) {
12211 std::shared_ptr<types::ILangStringTextType>
12213 that->description().value()
12215 const std::size_t size = value.size();
12218 std::shared_ptr<types::ILangStringTextType>
12220 wrapped.reserve(size);
12223 const std::shared_ptr<types::ILangStringTextType>& item
12226 wrapped.emplace_back(
12234 that->set_description(
12235 common::make_optional(
12241 if (that->semantic_id().has_value()) {
12242 const std::shared_ptr<types::IReference>& value(
12243 that->semantic_id().value()
12255 that->set_semantic_id(
12256 common::make_optional(
12262 if (that->supplemental_semantic_ids().has_value()) {
12264 std::shared_ptr<types::IReference>
12266 that->supplemental_semantic_ids().value()
12268 const std::size_t size = value.size();
12271 std::shared_ptr<types::IReference>
12273 wrapped.reserve(size);
12276 const std::shared_ptr<types::IReference>& item
12279 wrapped.emplace_back(
12287 that->set_supplemental_semantic_ids(
12288 common::make_optional(
12294 if (that->qualifiers().has_value()) {
12296 std::shared_ptr<types::IQualifier>
12298 that->qualifiers().value()
12300 const std::size_t size = value.size();
12303 std::shared_ptr<types::IQualifier>
12305 wrapped.reserve(size);
12308 const std::shared_ptr<types::IQualifier>& item
12311 wrapped.emplace_back(
12319 that->set_qualifiers(
12320 common::make_optional(
12326 if (that->embedded_data_specifications().has_value()) {
12328 std::shared_ptr<types::IEmbeddedDataSpecification>
12330 that->embedded_data_specifications().value()
12332 const std::size_t size = value.size();
12335 std::shared_ptr<types::IEmbeddedDataSpecification>
12337 wrapped.reserve(size);
12340 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
12343 wrapped.emplace_back(
12351 that->set_embedded_data_specifications(
12352 common::make_optional(
12358 that->set_observed(
12365 if (that->message_broker().has_value()) {
12366 const std::shared_ptr<types::IReference>& value(
12367 that->message_broker().value()
12379 that->set_message_broker(
12380 common::make_optional(
12386 std::shared_ptr<E> enh(
12389 return (enh ==
nullptr)
12391 : std::shared_ptr<types::IBasicEventElement>(
12392 new EnhancedBasicEventElement<E>(
12408template<
typename E>
12409std::shared_ptr<types::IOperation> WrapOperation(
12410 const std::shared_ptr<types::IOperation>& that,
12411 const std::function<
12412 std::shared_ptr<E>(
12413 const std::shared_ptr<types::IClass>&
12420 if (that->extensions().has_value()) {
12422 std::shared_ptr<types::IExtension>
12424 that->extensions().value()
12426 const std::size_t size = value.size();
12429 std::shared_ptr<types::IExtension>
12431 wrapped.reserve(size);
12434 const std::shared_ptr<types::IExtension>& item
12437 wrapped.emplace_back(
12445 that->set_extensions(
12446 common::make_optional(
12452 if (that->display_name().has_value()) {
12454 std::shared_ptr<types::ILangStringNameType>
12456 that->display_name().value()
12458 const std::size_t size = value.size();
12461 std::shared_ptr<types::ILangStringNameType>
12463 wrapped.reserve(size);
12466 const std::shared_ptr<types::ILangStringNameType>& item
12469 wrapped.emplace_back(
12477 that->set_display_name(
12478 common::make_optional(
12484 if (that->description().has_value()) {
12486 std::shared_ptr<types::ILangStringTextType>
12488 that->description().value()
12490 const std::size_t size = value.size();
12493 std::shared_ptr<types::ILangStringTextType>
12495 wrapped.reserve(size);
12498 const std::shared_ptr<types::ILangStringTextType>& item
12501 wrapped.emplace_back(
12509 that->set_description(
12510 common::make_optional(
12516 if (that->semantic_id().has_value()) {
12517 const std::shared_ptr<types::IReference>& value(
12518 that->semantic_id().value()
12530 that->set_semantic_id(
12531 common::make_optional(
12537 if (that->supplemental_semantic_ids().has_value()) {
12539 std::shared_ptr<types::IReference>
12541 that->supplemental_semantic_ids().value()
12543 const std::size_t size = value.size();
12546 std::shared_ptr<types::IReference>
12548 wrapped.reserve(size);
12551 const std::shared_ptr<types::IReference>& item
12554 wrapped.emplace_back(
12562 that->set_supplemental_semantic_ids(
12563 common::make_optional(
12569 if (that->qualifiers().has_value()) {
12571 std::shared_ptr<types::IQualifier>
12573 that->qualifiers().value()
12575 const std::size_t size = value.size();
12578 std::shared_ptr<types::IQualifier>
12580 wrapped.reserve(size);
12583 const std::shared_ptr<types::IQualifier>& item
12586 wrapped.emplace_back(
12594 that->set_qualifiers(
12595 common::make_optional(
12601 if (that->embedded_data_specifications().has_value()) {
12603 std::shared_ptr<types::IEmbeddedDataSpecification>
12605 that->embedded_data_specifications().value()
12607 const std::size_t size = value.size();
12610 std::shared_ptr<types::IEmbeddedDataSpecification>
12612 wrapped.reserve(size);
12615 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
12618 wrapped.emplace_back(
12626 that->set_embedded_data_specifications(
12627 common::make_optional(
12633 if (that->input_variables().has_value()) {
12635 std::shared_ptr<types::IOperationVariable>
12637 that->input_variables().value()
12639 const std::size_t size = value.size();
12642 std::shared_ptr<types::IOperationVariable>
12644 wrapped.reserve(size);
12647 const std::shared_ptr<types::IOperationVariable>& item
12650 wrapped.emplace_back(
12658 that->set_input_variables(
12659 common::make_optional(
12665 if (that->output_variables().has_value()) {
12667 std::shared_ptr<types::IOperationVariable>
12669 that->output_variables().value()
12671 const std::size_t size = value.size();
12674 std::shared_ptr<types::IOperationVariable>
12676 wrapped.reserve(size);
12679 const std::shared_ptr<types::IOperationVariable>& item
12682 wrapped.emplace_back(
12690 that->set_output_variables(
12691 common::make_optional(
12697 if (that->inoutput_variables().has_value()) {
12699 std::shared_ptr<types::IOperationVariable>
12701 that->inoutput_variables().value()
12703 const std::size_t size = value.size();
12706 std::shared_ptr<types::IOperationVariable>
12708 wrapped.reserve(size);
12711 const std::shared_ptr<types::IOperationVariable>& item
12714 wrapped.emplace_back(
12722 that->set_inoutput_variables(
12723 common::make_optional(
12729 std::shared_ptr<E> enh(
12732 return (enh ==
nullptr)
12734 : std::shared_ptr<types::IOperation>(
12735 new EnhancedOperation<E>(
12751template<
typename E>
12752std::shared_ptr<types::IOperationVariable> WrapOperationVariable(
12753 const std::shared_ptr<types::IOperationVariable>& that,
12754 const std::function<
12755 std::shared_ptr<E>(
12756 const std::shared_ptr<types::IClass>&
12770 std::shared_ptr<E> enh(
12773 return (enh ==
nullptr)
12775 : std::shared_ptr<types::IOperationVariable>(
12776 new EnhancedOperationVariable<E>(
12792template<
typename E>
12793std::shared_ptr<types::ICapability> WrapCapability(
12794 const std::shared_ptr<types::ICapability>& that,
12795 const std::function<
12796 std::shared_ptr<E>(
12797 const std::shared_ptr<types::IClass>&
12804 if (that->extensions().has_value()) {
12806 std::shared_ptr<types::IExtension>
12808 that->extensions().value()
12810 const std::size_t size = value.size();
12813 std::shared_ptr<types::IExtension>
12815 wrapped.reserve(size);
12818 const std::shared_ptr<types::IExtension>& item
12821 wrapped.emplace_back(
12829 that->set_extensions(
12830 common::make_optional(
12836 if (that->display_name().has_value()) {
12838 std::shared_ptr<types::ILangStringNameType>
12840 that->display_name().value()
12842 const std::size_t size = value.size();
12845 std::shared_ptr<types::ILangStringNameType>
12847 wrapped.reserve(size);
12850 const std::shared_ptr<types::ILangStringNameType>& item
12853 wrapped.emplace_back(
12861 that->set_display_name(
12862 common::make_optional(
12868 if (that->description().has_value()) {
12870 std::shared_ptr<types::ILangStringTextType>
12872 that->description().value()
12874 const std::size_t size = value.size();
12877 std::shared_ptr<types::ILangStringTextType>
12879 wrapped.reserve(size);
12882 const std::shared_ptr<types::ILangStringTextType>& item
12885 wrapped.emplace_back(
12893 that->set_description(
12894 common::make_optional(
12900 if (that->semantic_id().has_value()) {
12901 const std::shared_ptr<types::IReference>& value(
12902 that->semantic_id().value()
12914 that->set_semantic_id(
12915 common::make_optional(
12921 if (that->supplemental_semantic_ids().has_value()) {
12923 std::shared_ptr<types::IReference>
12925 that->supplemental_semantic_ids().value()
12927 const std::size_t size = value.size();
12930 std::shared_ptr<types::IReference>
12932 wrapped.reserve(size);
12935 const std::shared_ptr<types::IReference>& item
12938 wrapped.emplace_back(
12946 that->set_supplemental_semantic_ids(
12947 common::make_optional(
12953 if (that->qualifiers().has_value()) {
12955 std::shared_ptr<types::IQualifier>
12957 that->qualifiers().value()
12959 const std::size_t size = value.size();
12962 std::shared_ptr<types::IQualifier>
12964 wrapped.reserve(size);
12967 const std::shared_ptr<types::IQualifier>& item
12970 wrapped.emplace_back(
12978 that->set_qualifiers(
12979 common::make_optional(
12985 if (that->embedded_data_specifications().has_value()) {
12987 std::shared_ptr<types::IEmbeddedDataSpecification>
12989 that->embedded_data_specifications().value()
12991 const std::size_t size = value.size();
12994 std::shared_ptr<types::IEmbeddedDataSpecification>
12996 wrapped.reserve(size);
12999 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
13002 wrapped.emplace_back(
13010 that->set_embedded_data_specifications(
13011 common::make_optional(
13017 std::shared_ptr<E> enh(
13020 return (enh ==
nullptr)
13022 : std::shared_ptr<types::ICapability>(
13023 new EnhancedCapability<E>(
13039template<
typename E>
13040std::shared_ptr<types::IConceptDescription> WrapConceptDescription(
13041 const std::shared_ptr<types::IConceptDescription>& that,
13042 const std::function<
13043 std::shared_ptr<E>(
13044 const std::shared_ptr<types::IClass>&
13051 if (that->extensions().has_value()) {
13053 std::shared_ptr<types::IExtension>
13055 that->extensions().value()
13057 const std::size_t size = value.size();
13060 std::shared_ptr<types::IExtension>
13062 wrapped.reserve(size);
13065 const std::shared_ptr<types::IExtension>& item
13068 wrapped.emplace_back(
13076 that->set_extensions(
13077 common::make_optional(
13083 if (that->display_name().has_value()) {
13085 std::shared_ptr<types::ILangStringNameType>
13087 that->display_name().value()
13089 const std::size_t size = value.size();
13092 std::shared_ptr<types::ILangStringNameType>
13094 wrapped.reserve(size);
13097 const std::shared_ptr<types::ILangStringNameType>& item
13100 wrapped.emplace_back(
13108 that->set_display_name(
13109 common::make_optional(
13115 if (that->description().has_value()) {
13117 std::shared_ptr<types::ILangStringTextType>
13119 that->description().value()
13121 const std::size_t size = value.size();
13124 std::shared_ptr<types::ILangStringTextType>
13126 wrapped.reserve(size);
13129 const std::shared_ptr<types::ILangStringTextType>& item
13132 wrapped.emplace_back(
13140 that->set_description(
13141 common::make_optional(
13147 if (that->administration().has_value()) {
13148 const std::shared_ptr<types::IAdministrativeInformation>& value(
13149 that->administration().value()
13161 that->set_administration(
13162 common::make_optional(
13168 if (that->embedded_data_specifications().has_value()) {
13170 std::shared_ptr<types::IEmbeddedDataSpecification>
13172 that->embedded_data_specifications().value()
13174 const std::size_t size = value.size();
13177 std::shared_ptr<types::IEmbeddedDataSpecification>
13179 wrapped.reserve(size);
13182 const std::shared_ptr<types::IEmbeddedDataSpecification>& item
13185 wrapped.emplace_back(
13193 that->set_embedded_data_specifications(
13194 common::make_optional(
13200 if (that->is_case_of().has_value()) {
13202 std::shared_ptr<types::IReference>
13204 that->is_case_of().value()
13206 const std::size_t size = value.size();
13209 std::shared_ptr<types::IReference>
13211 wrapped.reserve(size);
13214 const std::shared_ptr<types::IReference>& item
13217 wrapped.emplace_back(
13225 that->set_is_case_of(
13226 common::make_optional(
13232 std::shared_ptr<E> enh(
13235 return (enh ==
nullptr)
13237 : std::shared_ptr<types::IConceptDescription>(
13238 new EnhancedConceptDescription<E>(
13254template<
typename E>
13255std::shared_ptr<types::IReference> WrapReference(
13256 const std::shared_ptr<types::IReference>& that,
13257 const std::function<
13258 std::shared_ptr<E>(
13259 const std::shared_ptr<types::IClass>&
13266 if (that->referred_semantic_id().has_value()) {
13267 const std::shared_ptr<types::IReference>& value(
13268 that->referred_semantic_id().value()
13280 that->set_referred_semantic_id(
13281 common::make_optional(
13289 std::shared_ptr<types::IKey>
13293 const std::size_t size = value.size();
13296 std::shared_ptr<types::IKey>
13298 wrapped.reserve(size);
13301 const std::shared_ptr<types::IKey>& item
13304 wrapped.emplace_back(
13317 std::shared_ptr<E> enh(
13320 return (enh ==
nullptr)
13322 : std::shared_ptr<types::IReference>(
13323 new EnhancedReference<E>(
13339template<
typename E>
13340std::shared_ptr<types::IKey> WrapKey(
13341 const std::shared_ptr<types::IKey>& that,
13342 const std::function<
13343 std::shared_ptr<E>(
13344 const std::shared_ptr<types::IClass>&
13353 std::shared_ptr<E> enh(
13356 return (enh ==
nullptr)
13358 : std::shared_ptr<types::IKey>(
13359 new EnhancedKey<E>(
13375template<
typename E>
13376std::shared_ptr<types::ILangStringNameType> WrapLangStringNameType(
13377 const std::shared_ptr<types::ILangStringNameType>& that,
13378 const std::function<
13379 std::shared_ptr<E>(
13380 const std::shared_ptr<types::IClass>&
13389 std::shared_ptr<E> enh(
13392 return (enh ==
nullptr)
13394 : std::shared_ptr<types::ILangStringNameType>(
13395 new EnhancedLangStringNameType<E>(
13411template<
typename E>
13412std::shared_ptr<types::ILangStringTextType> WrapLangStringTextType(
13413 const std::shared_ptr<types::ILangStringTextType>& that,
13414 const std::function<
13415 std::shared_ptr<E>(
13416 const std::shared_ptr<types::IClass>&
13425 std::shared_ptr<E> enh(
13428 return (enh ==
nullptr)
13430 : std::shared_ptr<types::ILangStringTextType>(
13431 new EnhancedLangStringTextType<E>(
13447template<
typename E>
13448std::shared_ptr<types::IEnvironment> WrapEnvironment(
13449 const std::shared_ptr<types::IEnvironment>& that,
13450 const std::function<
13451 std::shared_ptr<E>(
13452 const std::shared_ptr<types::IClass>&
13459 if (that->asset_administration_shells().has_value()) {
13461 std::shared_ptr<types::IAssetAdministrationShell>
13463 that->asset_administration_shells().value()
13465 const std::size_t size = value.size();
13468 std::shared_ptr<types::IAssetAdministrationShell>
13470 wrapped.reserve(size);
13473 const std::shared_ptr<types::IAssetAdministrationShell>& item
13476 wrapped.emplace_back(
13484 that->set_asset_administration_shells(
13485 common::make_optional(
13491 if (that->submodels().has_value()) {
13493 std::shared_ptr<types::ISubmodel>
13495 that->submodels().value()
13497 const std::size_t size = value.size();
13500 std::shared_ptr<types::ISubmodel>
13502 wrapped.reserve(size);
13505 const std::shared_ptr<types::ISubmodel>& item
13508 wrapped.emplace_back(
13516 that->set_submodels(
13517 common::make_optional(
13523 if (that->concept_descriptions().has_value()) {
13525 std::shared_ptr<types::IConceptDescription>
13527 that->concept_descriptions().value()
13529 const std::size_t size = value.size();
13532 std::shared_ptr<types::IConceptDescription>
13534 wrapped.reserve(size);
13537 const std::shared_ptr<types::IConceptDescription>& item
13540 wrapped.emplace_back(
13548 that->set_concept_descriptions(
13549 common::make_optional(
13555 std::shared_ptr<E> enh(
13558 return (enh ==
nullptr)
13560 : std::shared_ptr<types::IEnvironment>(
13561 new EnhancedEnvironment<E>(
13577template<
typename E>
13578std::shared_ptr<types::IEmbeddedDataSpecification> WrapEmbeddedDataSpecification(
13579 const std::shared_ptr<types::IEmbeddedDataSpecification>& that,
13580 const std::function<
13581 std::shared_ptr<E>(
13582 const std::shared_ptr<types::IClass>&
13589 that->set_data_specification(
13591 that->data_specification(),
13596 that->set_data_specification_content(
13598 that->data_specification_content(),
13603 std::shared_ptr<E> enh(
13606 return (enh ==
nullptr)
13608 : std::shared_ptr<types::IEmbeddedDataSpecification>(
13609 new EnhancedEmbeddedDataSpecification<E>(
13625template<
typename E>
13626std::shared_ptr<types::ILevelType> WrapLevelType(
13627 const std::shared_ptr<types::ILevelType>& that,
13628 const std::function<
13629 std::shared_ptr<E>(
13630 const std::shared_ptr<types::IClass>&
13639 std::shared_ptr<E> enh(
13642 return (enh ==
nullptr)
13644 : std::shared_ptr<types::ILevelType>(
13645 new EnhancedLevelType<E>(
13661template<
typename E>
13662std::shared_ptr<types::IValueReferencePair> WrapValueReferencePair(
13663 const std::shared_ptr<types::IValueReferencePair>& that,
13664 const std::function<
13665 std::shared_ptr<E>(
13666 const std::shared_ptr<types::IClass>&
13673 if (that->value_id().has_value()) {
13674 const std::shared_ptr<types::IReference>& value(
13675 that->value_id().value()
13687 that->set_value_id(
13688 common::make_optional(
13694 std::shared_ptr<E> enh(
13697 return (enh ==
nullptr)
13699 : std::shared_ptr<types::IValueReferencePair>(
13700 new EnhancedValueReferencePair<E>(
13716template<
typename E>
13717std::shared_ptr<types::IValueList> WrapValueList(
13718 const std::shared_ptr<types::IValueList>& that,
13719 const std::function<
13720 std::shared_ptr<E>(
13721 const std::shared_ptr<types::IClass>&
13730 std::shared_ptr<types::IValueReferencePair>
13732 that->value_reference_pairs()
13734 const std::size_t size = value.size();
13737 std::shared_ptr<types::IValueReferencePair>
13739 wrapped.reserve(size);
13742 const std::shared_ptr<types::IValueReferencePair>& item
13745 wrapped.emplace_back(
13753 that->set_value_reference_pairs(
13758 std::shared_ptr<E> enh(
13761 return (enh ==
nullptr)
13763 : std::shared_ptr<types::IValueList>(
13764 new EnhancedValueList<E>(
13780template<
typename E>
13781std::shared_ptr<types::ILangStringPreferredNameTypeIec61360> WrapLangStringPreferredNameTypeIec61360(
13782 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& that,
13783 const std::function<
13784 std::shared_ptr<E>(
13785 const std::shared_ptr<types::IClass>&
13794 std::shared_ptr<E> enh(
13797 return (enh ==
nullptr)
13799 : std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>(
13800 new EnhancedLangStringPreferredNameTypeIec61360<E>(
13816template<
typename E>
13817std::shared_ptr<types::ILangStringShortNameTypeIec61360> WrapLangStringShortNameTypeIec61360(
13818 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& that,
13819 const std::function<
13820 std::shared_ptr<E>(
13821 const std::shared_ptr<types::IClass>&
13830 std::shared_ptr<E> enh(
13833 return (enh ==
nullptr)
13835 : std::shared_ptr<types::ILangStringShortNameTypeIec61360>(
13836 new EnhancedLangStringShortNameTypeIec61360<E>(
13852template<
typename E>
13853std::shared_ptr<types::ILangStringDefinitionTypeIec61360> WrapLangStringDefinitionTypeIec61360(
13854 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& that,
13855 const std::function<
13856 std::shared_ptr<E>(
13857 const std::shared_ptr<types::IClass>&
13866 std::shared_ptr<E> enh(
13869 return (enh ==
nullptr)
13871 : std::shared_ptr<types::ILangStringDefinitionTypeIec61360>(
13872 new EnhancedLangStringDefinitionTypeIec61360<E>(
13888template<
typename E>
13889std::shared_ptr<types::IDataSpecificationIec61360> WrapDataSpecificationIec61360(
13890 const std::shared_ptr<types::IDataSpecificationIec61360>& that,
13891 const std::function<
13892 std::shared_ptr<E>(
13893 const std::shared_ptr<types::IClass>&
13902 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
13904 that->preferred_name()
13906 const std::size_t size = value.size();
13909 std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>
13911 wrapped.reserve(size);
13914 const std::shared_ptr<types::ILangStringPreferredNameTypeIec61360>& item
13917 wrapped.emplace_back(
13925 that->set_preferred_name(
13930 if (that->short_name().has_value()) {
13932 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
13934 that->short_name().value()
13936 const std::size_t size = value.size();
13939 std::shared_ptr<types::ILangStringShortNameTypeIec61360>
13941 wrapped.reserve(size);
13944 const std::shared_ptr<types::ILangStringShortNameTypeIec61360>& item
13947 wrapped.emplace_back(
13955 that->set_short_name(
13956 common::make_optional(
13962 if (that->unit_id().has_value()) {
13963 const std::shared_ptr<types::IReference>& value(
13964 that->unit_id().value()
13977 common::make_optional(
13983 if (that->definition().has_value()) {
13985 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
13987 that->definition().value()
13989 const std::size_t size = value.size();
13992 std::shared_ptr<types::ILangStringDefinitionTypeIec61360>
13994 wrapped.reserve(size);
13997 const std::shared_ptr<types::ILangStringDefinitionTypeIec61360>& item
14000 wrapped.emplace_back(
14008 that->set_definition(
14009 common::make_optional(
14015 if (that->value_list().has_value()) {
14016 const std::shared_ptr<types::IValueList>& value(
14017 that->value_list().value()
14029 that->set_value_list(
14030 common::make_optional(
14036 if (that->level_type().has_value()) {
14037 const std::shared_ptr<types::ILevelType>& value(
14038 that->level_type().value()
14050 that->set_level_type(
14051 common::make_optional(
14057 std::shared_ptr<E> enh(
14060 return (enh ==
nullptr)
14062 : std::shared_ptr<types::IDataSpecificationIec61360>(
14063 new EnhancedDataSpecificationIec61360<E>(
14081 typename std::enable_if<
14082 std::is_base_of<types::IClass, T>::value
14085void AssertNotEnhanced(
14086 const std::shared_ptr<T>& that
14088 std::shared_ptr<impl::IEnhanced<E> > enhanced(
14089 std::dynamic_pointer_cast<
14093 if (enhanced !=
nullptr) {
14094 throw std::logic_error(
14097 stringification::to_string(that->model_type()),
14098 " has been already wrapped."
14123template <
typename E>
14127 const std::shared_ptr<
14130 const std::function<
14131 std::shared_ptr<E>(
14132 const std::shared_ptr<types::IClass>&
14136 impl::AssertNotEnhanced<
14141 switch (that->model_type()) {
14143 return impl::WrapExtension<E>(
14144 std::dynamic_pointer_cast<
14151 return impl::WrapAdministrativeInformation<E>(
14152 std::dynamic_pointer_cast<
14159 return impl::WrapQualifier<E>(
14160 std::dynamic_pointer_cast<
14167 return impl::WrapAssetAdministrationShell<E>(
14168 std::dynamic_pointer_cast<
14175 return impl::WrapAssetInformation<E>(
14176 std::dynamic_pointer_cast<
14183 return impl::WrapResource<E>(
14184 std::dynamic_pointer_cast<
14191 return impl::WrapSpecificAssetId<E>(
14192 std::dynamic_pointer_cast<
14199 return impl::WrapSubmodel<E>(
14200 std::dynamic_pointer_cast<
14207 return impl::WrapRelationshipElement<E>(
14208 std::dynamic_pointer_cast<
14215 return impl::WrapSubmodelElementList<E>(
14216 std::dynamic_pointer_cast<
14223 return impl::WrapSubmodelElementCollection<E>(
14224 std::dynamic_pointer_cast<
14231 return impl::WrapProperty<E>(
14232 std::dynamic_pointer_cast<
14239 return impl::WrapMultiLanguageProperty<E>(
14240 std::dynamic_pointer_cast<
14247 return impl::WrapRange<E>(
14248 std::dynamic_pointer_cast<
14255 return impl::WrapReferenceElement<E>(
14256 std::dynamic_pointer_cast<
14263 return impl::WrapBlob<E>(
14264 std::dynamic_pointer_cast<
14271 return impl::WrapFile<E>(
14272 std::dynamic_pointer_cast<
14279 return impl::WrapAnnotatedRelationshipElement<E>(
14280 std::dynamic_pointer_cast<
14287 return impl::WrapEntity<E>(
14288 std::dynamic_pointer_cast<
14295 return impl::WrapEventPayload<E>(
14296 std::dynamic_pointer_cast<
14303 return impl::WrapBasicEventElement<E>(
14304 std::dynamic_pointer_cast<
14311 return impl::WrapOperation<E>(
14312 std::dynamic_pointer_cast<
14319 return impl::WrapOperationVariable<E>(
14320 std::dynamic_pointer_cast<
14327 return impl::WrapCapability<E>(
14328 std::dynamic_pointer_cast<
14335 return impl::WrapConceptDescription<E>(
14336 std::dynamic_pointer_cast<
14343 return impl::WrapReference<E>(
14344 std::dynamic_pointer_cast<
14351 return impl::WrapKey<E>(
14352 std::dynamic_pointer_cast<
14359 return impl::WrapLangStringNameType<E>(
14360 std::dynamic_pointer_cast<
14367 return impl::WrapLangStringTextType<E>(
14368 std::dynamic_pointer_cast<
14375 return impl::WrapEnvironment<E>(
14376 std::dynamic_pointer_cast<
14383 return impl::WrapEmbeddedDataSpecification<E>(
14384 std::dynamic_pointer_cast<
14391 return impl::WrapLevelType<E>(
14392 std::dynamic_pointer_cast<
14399 return impl::WrapValueReferencePair<E>(
14400 std::dynamic_pointer_cast<
14407 return impl::WrapValueList<E>(
14408 std::dynamic_pointer_cast<
14415 return impl::WrapLangStringPreferredNameTypeIec61360<E>(
14416 std::dynamic_pointer_cast<
14423 return impl::WrapLangStringShortNameTypeIec61360<E>(
14424 std::dynamic_pointer_cast<
14431 return impl::WrapLangStringDefinitionTypeIec61360<E>(
14432 std::dynamic_pointer_cast<
14439 return impl::WrapDataSpecificationIec61360<E>(
14440 std::dynamic_pointer_cast<
14447 throw std::invalid_argument(
14449 "Unexpected model type: ",
14451 static_cast<std::uint32_t
>(
14461template <
typename E>
14465 const std::shared_ptr<
14468 const std::function<
14469 std::shared_ptr<E>(
14470 const std::shared_ptr<types::IClass>&
14474 impl::AssertNotEnhanced<
14479 switch (that->model_type()) {
14481 return impl::WrapRelationshipElement<E>(
14482 std::dynamic_pointer_cast<
14489 return impl::WrapAnnotatedRelationshipElement<E>(
14490 std::dynamic_pointer_cast<
14497 return impl::WrapBasicEventElement<E>(
14498 std::dynamic_pointer_cast<
14505 return impl::WrapBlob<E>(
14506 std::dynamic_pointer_cast<
14513 return impl::WrapCapability<E>(
14514 std::dynamic_pointer_cast<
14521 return impl::WrapEntity<E>(
14522 std::dynamic_pointer_cast<
14529 return impl::WrapExtension<E>(
14530 std::dynamic_pointer_cast<
14537 return impl::WrapFile<E>(
14538 std::dynamic_pointer_cast<
14545 return impl::WrapMultiLanguageProperty<E>(
14546 std::dynamic_pointer_cast<
14553 return impl::WrapOperation<E>(
14554 std::dynamic_pointer_cast<
14561 return impl::WrapProperty<E>(
14562 std::dynamic_pointer_cast<
14569 return impl::WrapQualifier<E>(
14570 std::dynamic_pointer_cast<
14577 return impl::WrapRange<E>(
14578 std::dynamic_pointer_cast<
14585 return impl::WrapReferenceElement<E>(
14586 std::dynamic_pointer_cast<
14593 return impl::WrapSpecificAssetId<E>(
14594 std::dynamic_pointer_cast<
14601 return impl::WrapSubmodel<E>(
14602 std::dynamic_pointer_cast<
14609 return impl::WrapSubmodelElementCollection<E>(
14610 std::dynamic_pointer_cast<
14617 return impl::WrapSubmodelElementList<E>(
14618 std::dynamic_pointer_cast<
14625 throw std::invalid_argument(
14627 "Unexpected model type: ",
14629 static_cast<std::uint32_t
>(
14639template <
typename E>
14643 const std::shared_ptr<
14646 const std::function<
14647 std::shared_ptr<E>(
14648 const std::shared_ptr<types::IClass>&
14652 impl::AssertNotEnhanced<
14657 switch (that->model_type()) {
14659 return impl::WrapExtension<E>(
14665 throw std::invalid_argument(
14667 "Unexpected model type: ",
14669 static_cast<std::uint32_t
>(
14679template <
typename E>
14683 const std::shared_ptr<
14686 const std::function<
14687 std::shared_ptr<E>(
14688 const std::shared_ptr<types::IClass>&
14692 impl::AssertNotEnhanced<
14697 switch (that->model_type()) {
14699 return impl::WrapRelationshipElement<E>(
14700 std::dynamic_pointer_cast<
14707 return impl::WrapAnnotatedRelationshipElement<E>(
14708 std::dynamic_pointer_cast<
14715 return impl::WrapAssetAdministrationShell<E>(
14716 std::dynamic_pointer_cast<
14723 return impl::WrapBasicEventElement<E>(
14724 std::dynamic_pointer_cast<
14731 return impl::WrapBlob<E>(
14732 std::dynamic_pointer_cast<
14739 return impl::WrapCapability<E>(
14740 std::dynamic_pointer_cast<
14747 return impl::WrapConceptDescription<E>(
14748 std::dynamic_pointer_cast<
14755 return impl::WrapEntity<E>(
14756 std::dynamic_pointer_cast<
14763 return impl::WrapFile<E>(
14764 std::dynamic_pointer_cast<
14771 return impl::WrapMultiLanguageProperty<E>(
14772 std::dynamic_pointer_cast<
14779 return impl::WrapOperation<E>(
14780 std::dynamic_pointer_cast<
14787 return impl::WrapProperty<E>(
14788 std::dynamic_pointer_cast<
14795 return impl::WrapRange<E>(
14796 std::dynamic_pointer_cast<
14803 return impl::WrapReferenceElement<E>(
14804 std::dynamic_pointer_cast<
14811 return impl::WrapSubmodel<E>(
14812 std::dynamic_pointer_cast<
14819 return impl::WrapSubmodelElementCollection<E>(
14820 std::dynamic_pointer_cast<
14827 return impl::WrapSubmodelElementList<E>(
14828 std::dynamic_pointer_cast<
14835 throw std::invalid_argument(
14837 "Unexpected model type: ",
14839 static_cast<std::uint32_t
>(
14849template <
typename E>
14853 const std::shared_ptr<
14856 const std::function<
14857 std::shared_ptr<E>(
14858 const std::shared_ptr<types::IClass>&
14862 impl::AssertNotEnhanced<
14867 switch (that->model_type()) {
14869 return impl::WrapRelationshipElement<E>(
14870 std::dynamic_pointer_cast<
14877 return impl::WrapAnnotatedRelationshipElement<E>(
14878 std::dynamic_pointer_cast<
14885 return impl::WrapAssetAdministrationShell<E>(
14886 std::dynamic_pointer_cast<
14893 return impl::WrapBasicEventElement<E>(
14894 std::dynamic_pointer_cast<
14901 return impl::WrapBlob<E>(
14902 std::dynamic_pointer_cast<
14909 return impl::WrapCapability<E>(
14910 std::dynamic_pointer_cast<
14917 return impl::WrapConceptDescription<E>(
14918 std::dynamic_pointer_cast<
14925 return impl::WrapEntity<E>(
14926 std::dynamic_pointer_cast<
14933 return impl::WrapFile<E>(
14934 std::dynamic_pointer_cast<
14941 return impl::WrapMultiLanguageProperty<E>(
14942 std::dynamic_pointer_cast<
14949 return impl::WrapOperation<E>(
14950 std::dynamic_pointer_cast<
14957 return impl::WrapProperty<E>(
14958 std::dynamic_pointer_cast<
14965 return impl::WrapRange<E>(
14966 std::dynamic_pointer_cast<
14973 return impl::WrapReferenceElement<E>(
14974 std::dynamic_pointer_cast<
14981 return impl::WrapSubmodel<E>(
14982 std::dynamic_pointer_cast<
14989 return impl::WrapSubmodelElementCollection<E>(
14990 std::dynamic_pointer_cast<
14997 return impl::WrapSubmodelElementList<E>(
14998 std::dynamic_pointer_cast<
15005 throw std::invalid_argument(
15007 "Unexpected model type: ",
15009 static_cast<std::uint32_t
>(
15019template <
typename E>
15023 const std::shared_ptr<
15026 const std::function<
15027 std::shared_ptr<E>(
15028 const std::shared_ptr<types::IClass>&
15032 impl::AssertNotEnhanced<
15037 switch (that->model_type()) {
15039 return impl::WrapAssetAdministrationShell<E>(
15040 std::dynamic_pointer_cast<
15047 return impl::WrapConceptDescription<E>(
15048 std::dynamic_pointer_cast<
15055 return impl::WrapSubmodel<E>(
15056 std::dynamic_pointer_cast<
15063 throw std::invalid_argument(
15065 "Unexpected model type: ",
15067 static_cast<std::uint32_t
>(
15077template <
typename E>
15081 const std::shared_ptr<
15084 const std::function<
15085 std::shared_ptr<E>(
15086 const std::shared_ptr<types::IClass>&
15090 impl::AssertNotEnhanced<
15095 switch (that->model_type()) {
15097 return impl::WrapSubmodel<E>(
15098 std::dynamic_pointer_cast<
15105 throw std::invalid_argument(
15107 "Unexpected model type: ",
15109 static_cast<std::uint32_t
>(
15119template <
typename E>
15123 const std::shared_ptr<
15126 const std::function<
15127 std::shared_ptr<E>(
15128 const std::shared_ptr<types::IClass>&
15132 impl::AssertNotEnhanced<
15137 switch (that->model_type()) {
15139 return impl::WrapAdministrativeInformation<E>(
15140 std::dynamic_pointer_cast<
15147 return impl::WrapRelationshipElement<E>(
15148 std::dynamic_pointer_cast<
15155 return impl::WrapAnnotatedRelationshipElement<E>(
15156 std::dynamic_pointer_cast<
15163 return impl::WrapAssetAdministrationShell<E>(
15164 std::dynamic_pointer_cast<
15171 return impl::WrapBasicEventElement<E>(
15172 std::dynamic_pointer_cast<
15179 return impl::WrapBlob<E>(
15180 std::dynamic_pointer_cast<
15187 return impl::WrapCapability<E>(
15188 std::dynamic_pointer_cast<
15195 return impl::WrapConceptDescription<E>(
15196 std::dynamic_pointer_cast<
15203 return impl::WrapEntity<E>(
15204 std::dynamic_pointer_cast<
15211 return impl::WrapFile<E>(
15212 std::dynamic_pointer_cast<
15219 return impl::WrapMultiLanguageProperty<E>(
15220 std::dynamic_pointer_cast<
15227 return impl::WrapOperation<E>(
15228 std::dynamic_pointer_cast<
15235 return impl::WrapProperty<E>(
15236 std::dynamic_pointer_cast<
15243 return impl::WrapRange<E>(
15244 std::dynamic_pointer_cast<
15251 return impl::WrapReferenceElement<E>(
15252 std::dynamic_pointer_cast<
15259 return impl::WrapSubmodel<E>(
15260 std::dynamic_pointer_cast<
15267 return impl::WrapSubmodelElementCollection<E>(
15268 std::dynamic_pointer_cast<
15275 return impl::WrapSubmodelElementList<E>(
15276 std::dynamic_pointer_cast<
15283 throw std::invalid_argument(
15285 "Unexpected model type: ",
15287 static_cast<std::uint32_t
>(
15297template <
typename E>
15301 const std::shared_ptr<
15304 const std::function<
15305 std::shared_ptr<E>(
15306 const std::shared_ptr<types::IClass>&
15310 impl::AssertNotEnhanced<
15315 switch (that->model_type()) {
15317 return impl::WrapAdministrativeInformation<E>(
15323 throw std::invalid_argument(
15325 "Unexpected model type: ",
15327 static_cast<std::uint32_t
>(
15337template <
typename E>
15341 const std::shared_ptr<
15344 const std::function<
15345 std::shared_ptr<E>(
15346 const std::shared_ptr<types::IClass>&
15350 impl::AssertNotEnhanced<
15355 switch (that->model_type()) {
15357 return impl::WrapRelationshipElement<E>(
15358 std::dynamic_pointer_cast<
15365 return impl::WrapAnnotatedRelationshipElement<E>(
15366 std::dynamic_pointer_cast<
15373 return impl::WrapBasicEventElement<E>(
15374 std::dynamic_pointer_cast<
15381 return impl::WrapBlob<E>(
15382 std::dynamic_pointer_cast<
15389 return impl::WrapCapability<E>(
15390 std::dynamic_pointer_cast<
15397 return impl::WrapEntity<E>(
15398 std::dynamic_pointer_cast<
15405 return impl::WrapFile<E>(
15406 std::dynamic_pointer_cast<
15413 return impl::WrapMultiLanguageProperty<E>(
15414 std::dynamic_pointer_cast<
15421 return impl::WrapOperation<E>(
15422 std::dynamic_pointer_cast<
15429 return impl::WrapProperty<E>(
15430 std::dynamic_pointer_cast<
15437 return impl::WrapRange<E>(
15438 std::dynamic_pointer_cast<
15445 return impl::WrapReferenceElement<E>(
15446 std::dynamic_pointer_cast<
15453 return impl::WrapSubmodel<E>(
15454 std::dynamic_pointer_cast<
15461 return impl::WrapSubmodelElementCollection<E>(
15462 std::dynamic_pointer_cast<
15469 return impl::WrapSubmodelElementList<E>(
15470 std::dynamic_pointer_cast<
15477 throw std::invalid_argument(
15479 "Unexpected model type: ",
15481 static_cast<std::uint32_t
>(
15491template <
typename E>
15495 const std::shared_ptr<
15498 const std::function<
15499 std::shared_ptr<E>(
15500 const std::shared_ptr<types::IClass>&
15504 impl::AssertNotEnhanced<
15509 switch (that->model_type()) {
15511 return impl::WrapQualifier<E>(
15517 throw std::invalid_argument(
15519 "Unexpected model type: ",
15521 static_cast<std::uint32_t
>(
15531template <
typename E>
15535 const std::shared_ptr<
15538 const std::function<
15539 std::shared_ptr<E>(
15540 const std::shared_ptr<types::IClass>&
15544 impl::AssertNotEnhanced<
15549 switch (that->model_type()) {
15551 return impl::WrapAssetAdministrationShell<E>(
15557 throw std::invalid_argument(
15559 "Unexpected model type: ",
15561 static_cast<std::uint32_t
>(
15571template <
typename E>
15575 const std::shared_ptr<
15578 const std::function<
15579 std::shared_ptr<E>(
15580 const std::shared_ptr<types::IClass>&
15584 impl::AssertNotEnhanced<
15589 switch (that->model_type()) {
15591 return impl::WrapAssetInformation<E>(
15597 throw std::invalid_argument(
15599 "Unexpected model type: ",
15601 static_cast<std::uint32_t
>(
15611template <
typename E>
15615 const std::shared_ptr<
15618 const std::function<
15619 std::shared_ptr<E>(
15620 const std::shared_ptr<types::IClass>&
15624 impl::AssertNotEnhanced<
15629 switch (that->model_type()) {
15631 return impl::WrapResource<E>(
15637 throw std::invalid_argument(
15639 "Unexpected model type: ",
15641 static_cast<std::uint32_t
>(
15651template <
typename E>
15655 const std::shared_ptr<
15658 const std::function<
15659 std::shared_ptr<E>(
15660 const std::shared_ptr<types::IClass>&
15664 impl::AssertNotEnhanced<
15669 switch (that->model_type()) {
15671 return impl::WrapSpecificAssetId<E>(
15677 throw std::invalid_argument(
15679 "Unexpected model type: ",
15681 static_cast<std::uint32_t
>(
15691template <
typename E>
15695 const std::shared_ptr<
15698 const std::function<
15699 std::shared_ptr<E>(
15700 const std::shared_ptr<types::IClass>&
15704 impl::AssertNotEnhanced<
15709 switch (that->model_type()) {
15711 return impl::WrapSubmodel<E>(
15717 throw std::invalid_argument(
15719 "Unexpected model type: ",
15721 static_cast<std::uint32_t
>(
15731template <
typename E>
15735 const std::shared_ptr<
15738 const std::function<
15739 std::shared_ptr<E>(
15740 const std::shared_ptr<types::IClass>&
15744 impl::AssertNotEnhanced<
15749 switch (that->model_type()) {
15751 return impl::WrapRelationshipElement<E>(
15752 std::dynamic_pointer_cast<
15759 return impl::WrapAnnotatedRelationshipElement<E>(
15760 std::dynamic_pointer_cast<
15767 return impl::WrapBasicEventElement<E>(
15768 std::dynamic_pointer_cast<
15775 return impl::WrapBlob<E>(
15776 std::dynamic_pointer_cast<
15783 return impl::WrapCapability<E>(
15784 std::dynamic_pointer_cast<
15791 return impl::WrapEntity<E>(
15792 std::dynamic_pointer_cast<
15799 return impl::WrapFile<E>(
15800 std::dynamic_pointer_cast<
15807 return impl::WrapMultiLanguageProperty<E>(
15808 std::dynamic_pointer_cast<
15815 return impl::WrapOperation<E>(
15816 std::dynamic_pointer_cast<
15823 return impl::WrapProperty<E>(
15824 std::dynamic_pointer_cast<
15831 return impl::WrapRange<E>(
15832 std::dynamic_pointer_cast<
15839 return impl::WrapReferenceElement<E>(
15840 std::dynamic_pointer_cast<
15847 return impl::WrapSubmodelElementCollection<E>(
15848 std::dynamic_pointer_cast<
15855 return impl::WrapSubmodelElementList<E>(
15856 std::dynamic_pointer_cast<
15863 throw std::invalid_argument(
15865 "Unexpected model type: ",
15867 static_cast<std::uint32_t
>(
15877template <
typename E>
15881 const std::shared_ptr<
15884 const std::function<
15885 std::shared_ptr<E>(
15886 const std::shared_ptr<types::IClass>&
15890 impl::AssertNotEnhanced<
15895 switch (that->model_type()) {
15897 return impl::WrapRelationshipElement<E>(
15903 return impl::WrapAnnotatedRelationshipElement<E>(
15904 std::dynamic_pointer_cast<
15911 throw std::invalid_argument(
15913 "Unexpected model type: ",
15915 static_cast<std::uint32_t
>(
15925template <
typename E>
15929 const std::shared_ptr<
15932 const std::function<
15933 std::shared_ptr<E>(
15934 const std::shared_ptr<types::IClass>&
15938 impl::AssertNotEnhanced<
15943 switch (that->model_type()) {
15945 return impl::WrapSubmodelElementList<E>(
15951 throw std::invalid_argument(
15953 "Unexpected model type: ",
15955 static_cast<std::uint32_t
>(
15965template <
typename E>
15969 const std::shared_ptr<
15972 const std::function<
15973 std::shared_ptr<E>(
15974 const std::shared_ptr<types::IClass>&
15978 impl::AssertNotEnhanced<
15983 switch (that->model_type()) {
15985 return impl::WrapSubmodelElementCollection<E>(
15991 throw std::invalid_argument(
15993 "Unexpected model type: ",
15995 static_cast<std::uint32_t
>(
16005template <
typename E>
16009 const std::shared_ptr<
16012 const std::function<
16013 std::shared_ptr<E>(
16014 const std::shared_ptr<types::IClass>&
16018 impl::AssertNotEnhanced<
16023 switch (that->model_type()) {
16025 return impl::WrapBlob<E>(
16026 std::dynamic_pointer_cast<
16033 return impl::WrapFile<E>(
16034 std::dynamic_pointer_cast<
16041 return impl::WrapMultiLanguageProperty<E>(
16042 std::dynamic_pointer_cast<
16049 return impl::WrapProperty<E>(
16050 std::dynamic_pointer_cast<
16057 return impl::WrapRange<E>(
16058 std::dynamic_pointer_cast<
16065 return impl::WrapReferenceElement<E>(
16066 std::dynamic_pointer_cast<
16073 throw std::invalid_argument(
16075 "Unexpected model type: ",
16077 static_cast<std::uint32_t
>(
16087template <
typename E>
16091 const std::shared_ptr<
16094 const std::function<
16095 std::shared_ptr<E>(
16096 const std::shared_ptr<types::IClass>&
16100 impl::AssertNotEnhanced<
16105 switch (that->model_type()) {
16107 return impl::WrapProperty<E>(
16113 throw std::invalid_argument(
16115 "Unexpected model type: ",
16117 static_cast<std::uint32_t
>(
16127template <
typename E>
16131 const std::shared_ptr<
16134 const std::function<
16135 std::shared_ptr<E>(
16136 const std::shared_ptr<types::IClass>&
16140 impl::AssertNotEnhanced<
16145 switch (that->model_type()) {
16147 return impl::WrapMultiLanguageProperty<E>(
16153 throw std::invalid_argument(
16155 "Unexpected model type: ",
16157 static_cast<std::uint32_t
>(
16167template <
typename E>
16171 const std::shared_ptr<
16174 const std::function<
16175 std::shared_ptr<E>(
16176 const std::shared_ptr<types::IClass>&
16180 impl::AssertNotEnhanced<
16185 switch (that->model_type()) {
16187 return impl::WrapRange<E>(
16193 throw std::invalid_argument(
16195 "Unexpected model type: ",
16197 static_cast<std::uint32_t
>(
16207template <
typename E>
16211 const std::shared_ptr<
16214 const std::function<
16215 std::shared_ptr<E>(
16216 const std::shared_ptr<types::IClass>&
16220 impl::AssertNotEnhanced<
16225 switch (that->model_type()) {
16227 return impl::WrapReferenceElement<E>(
16233 throw std::invalid_argument(
16235 "Unexpected model type: ",
16237 static_cast<std::uint32_t
>(
16247template <
typename E>
16251 const std::shared_ptr<
16254 const std::function<
16255 std::shared_ptr<E>(
16256 const std::shared_ptr<types::IClass>&
16260 impl::AssertNotEnhanced<
16265 switch (that->model_type()) {
16267 return impl::WrapBlob<E>(
16273 throw std::invalid_argument(
16275 "Unexpected model type: ",
16277 static_cast<std::uint32_t
>(
16287template <
typename E>
16291 const std::shared_ptr<
16294 const std::function<
16295 std::shared_ptr<E>(
16296 const std::shared_ptr<types::IClass>&
16300 impl::AssertNotEnhanced<
16305 switch (that->model_type()) {
16307 return impl::WrapFile<E>(
16313 throw std::invalid_argument(
16315 "Unexpected model type: ",
16317 static_cast<std::uint32_t
>(
16327template <
typename E>
16331 const std::shared_ptr<
16334 const std::function<
16335 std::shared_ptr<E>(
16336 const std::shared_ptr<types::IClass>&
16340 impl::AssertNotEnhanced<
16345 switch (that->model_type()) {
16347 return impl::WrapAnnotatedRelationshipElement<E>(
16353 throw std::invalid_argument(
16355 "Unexpected model type: ",
16357 static_cast<std::uint32_t
>(
16367template <
typename E>
16371 const std::shared_ptr<
16374 const std::function<
16375 std::shared_ptr<E>(
16376 const std::shared_ptr<types::IClass>&
16380 impl::AssertNotEnhanced<
16385 switch (that->model_type()) {
16387 return impl::WrapEntity<E>(
16393 throw std::invalid_argument(
16395 "Unexpected model type: ",
16397 static_cast<std::uint32_t
>(
16407template <
typename E>
16411 const std::shared_ptr<
16414 const std::function<
16415 std::shared_ptr<E>(
16416 const std::shared_ptr<types::IClass>&
16420 impl::AssertNotEnhanced<
16425 switch (that->model_type()) {
16427 return impl::WrapEventPayload<E>(
16433 throw std::invalid_argument(
16435 "Unexpected model type: ",
16437 static_cast<std::uint32_t
>(
16447template <
typename E>
16451 const std::shared_ptr<
16454 const std::function<
16455 std::shared_ptr<E>(
16456 const std::shared_ptr<types::IClass>&
16460 impl::AssertNotEnhanced<
16465 switch (that->model_type()) {
16467 return impl::WrapBasicEventElement<E>(
16468 std::dynamic_pointer_cast<
16475 throw std::invalid_argument(
16477 "Unexpected model type: ",
16479 static_cast<std::uint32_t
>(
16489template <
typename E>
16493 const std::shared_ptr<
16496 const std::function<
16497 std::shared_ptr<E>(
16498 const std::shared_ptr<types::IClass>&
16502 impl::AssertNotEnhanced<
16507 switch (that->model_type()) {
16509 return impl::WrapBasicEventElement<E>(
16515 throw std::invalid_argument(
16517 "Unexpected model type: ",
16519 static_cast<std::uint32_t
>(
16529template <
typename E>
16533 const std::shared_ptr<
16536 const std::function<
16537 std::shared_ptr<E>(
16538 const std::shared_ptr<types::IClass>&
16542 impl::AssertNotEnhanced<
16547 switch (that->model_type()) {
16549 return impl::WrapOperation<E>(
16555 throw std::invalid_argument(
16557 "Unexpected model type: ",
16559 static_cast<std::uint32_t
>(
16569template <
typename E>
16573 const std::shared_ptr<
16576 const std::function<
16577 std::shared_ptr<E>(
16578 const std::shared_ptr<types::IClass>&
16582 impl::AssertNotEnhanced<
16587 switch (that->model_type()) {
16589 return impl::WrapOperationVariable<E>(
16595 throw std::invalid_argument(
16597 "Unexpected model type: ",
16599 static_cast<std::uint32_t
>(
16609template <
typename E>
16613 const std::shared_ptr<
16616 const std::function<
16617 std::shared_ptr<E>(
16618 const std::shared_ptr<types::IClass>&
16622 impl::AssertNotEnhanced<
16627 switch (that->model_type()) {
16629 return impl::WrapCapability<E>(
16635 throw std::invalid_argument(
16637 "Unexpected model type: ",
16639 static_cast<std::uint32_t
>(
16649template <
typename E>
16653 const std::shared_ptr<
16656 const std::function<
16657 std::shared_ptr<E>(
16658 const std::shared_ptr<types::IClass>&
16662 impl::AssertNotEnhanced<
16667 switch (that->model_type()) {
16669 return impl::WrapConceptDescription<E>(
16675 throw std::invalid_argument(
16677 "Unexpected model type: ",
16679 static_cast<std::uint32_t
>(
16689template <
typename E>
16693 const std::shared_ptr<
16696 const std::function<
16697 std::shared_ptr<E>(
16698 const std::shared_ptr<types::IClass>&
16702 impl::AssertNotEnhanced<
16707 switch (that->model_type()) {
16709 return impl::WrapReference<E>(
16715 throw std::invalid_argument(
16717 "Unexpected model type: ",
16719 static_cast<std::uint32_t
>(
16729template <
typename E>
16733 const std::shared_ptr<
16736 const std::function<
16737 std::shared_ptr<E>(
16738 const std::shared_ptr<types::IClass>&
16742 impl::AssertNotEnhanced<
16747 switch (that->model_type()) {
16749 return impl::WrapKey<E>(
16755 throw std::invalid_argument(
16757 "Unexpected model type: ",
16759 static_cast<std::uint32_t
>(
16769template <
typename E>
16773 const std::shared_ptr<
16776 const std::function<
16777 std::shared_ptr<E>(
16778 const std::shared_ptr<types::IClass>&
16782 impl::AssertNotEnhanced<
16787 switch (that->model_type()) {
16789 return impl::WrapLangStringDefinitionTypeIec61360<E>(
16790 std::dynamic_pointer_cast<
16797 return impl::WrapLangStringNameType<E>(
16798 std::dynamic_pointer_cast<
16805 return impl::WrapLangStringPreferredNameTypeIec61360<E>(
16806 std::dynamic_pointer_cast<
16813 return impl::WrapLangStringShortNameTypeIec61360<E>(
16814 std::dynamic_pointer_cast<
16821 return impl::WrapLangStringTextType<E>(
16822 std::dynamic_pointer_cast<
16829 throw std::invalid_argument(
16831 "Unexpected model type: ",
16833 static_cast<std::uint32_t
>(
16843template <
typename E>
16847 const std::shared_ptr<
16850 const std::function<
16851 std::shared_ptr<E>(
16852 const std::shared_ptr<types::IClass>&
16856 impl::AssertNotEnhanced<
16861 switch (that->model_type()) {
16863 return impl::WrapLangStringNameType<E>(
16869 throw std::invalid_argument(
16871 "Unexpected model type: ",
16873 static_cast<std::uint32_t
>(
16883template <
typename E>
16887 const std::shared_ptr<
16890 const std::function<
16891 std::shared_ptr<E>(
16892 const std::shared_ptr<types::IClass>&
16896 impl::AssertNotEnhanced<
16901 switch (that->model_type()) {
16903 return impl::WrapLangStringTextType<E>(
16909 throw std::invalid_argument(
16911 "Unexpected model type: ",
16913 static_cast<std::uint32_t
>(
16923template <
typename E>
16927 const std::shared_ptr<
16930 const std::function<
16931 std::shared_ptr<E>(
16932 const std::shared_ptr<types::IClass>&
16936 impl::AssertNotEnhanced<
16941 switch (that->model_type()) {
16943 return impl::WrapEnvironment<E>(
16949 throw std::invalid_argument(
16951 "Unexpected model type: ",
16953 static_cast<std::uint32_t
>(
16963template <
typename E>
16967 const std::shared_ptr<
16970 const std::function<
16971 std::shared_ptr<E>(
16972 const std::shared_ptr<types::IClass>&
16976 impl::AssertNotEnhanced<
16981 switch (that->model_type()) {
16983 return impl::WrapDataSpecificationIec61360<E>(
16984 std::dynamic_pointer_cast<
16991 throw std::invalid_argument(
16993 "Unexpected model type: ",
16995 static_cast<std::uint32_t
>(
17005template <
typename E>
17009 const std::shared_ptr<
17012 const std::function<
17013 std::shared_ptr<E>(
17014 const std::shared_ptr<types::IClass>&
17018 impl::AssertNotEnhanced<
17023 switch (that->model_type()) {
17025 return impl::WrapEmbeddedDataSpecification<E>(
17031 throw std::invalid_argument(
17033 "Unexpected model type: ",
17035 static_cast<std::uint32_t
>(
17045template <
typename E>
17049 const std::shared_ptr<
17052 const std::function<
17053 std::shared_ptr<E>(
17054 const std::shared_ptr<types::IClass>&
17058 impl::AssertNotEnhanced<
17063 switch (that->model_type()) {
17065 return impl::WrapLevelType<E>(
17071 throw std::invalid_argument(
17073 "Unexpected model type: ",
17075 static_cast<std::uint32_t
>(
17085template <
typename E>
17089 const std::shared_ptr<
17092 const std::function<
17093 std::shared_ptr<E>(
17094 const std::shared_ptr<types::IClass>&
17098 impl::AssertNotEnhanced<
17103 switch (that->model_type()) {
17105 return impl::WrapValueReferencePair<E>(
17111 throw std::invalid_argument(
17113 "Unexpected model type: ",
17115 static_cast<std::uint32_t
>(
17125template <
typename E>
17129 const std::shared_ptr<
17132 const std::function<
17133 std::shared_ptr<E>(
17134 const std::shared_ptr<types::IClass>&
17138 impl::AssertNotEnhanced<
17143 switch (that->model_type()) {
17145 return impl::WrapValueList<E>(
17151 throw std::invalid_argument(
17153 "Unexpected model type: ",
17155 static_cast<std::uint32_t
>(
17165template <
typename E>
17169 const std::shared_ptr<
17172 const std::function<
17173 std::shared_ptr<E>(
17174 const std::shared_ptr<types::IClass>&
17178 impl::AssertNotEnhanced<
17183 switch (that->model_type()) {
17185 return impl::WrapLangStringPreferredNameTypeIec61360<E>(
17191 throw std::invalid_argument(
17193 "Unexpected model type: ",
17195 static_cast<std::uint32_t
>(
17205template <
typename E>
17209 const std::shared_ptr<
17212 const std::function<
17213 std::shared_ptr<E>(
17214 const std::shared_ptr<types::IClass>&
17218 impl::AssertNotEnhanced<
17223 switch (that->model_type()) {
17225 return impl::WrapLangStringShortNameTypeIec61360<E>(
17231 throw std::invalid_argument(
17233 "Unexpected model type: ",
17235 static_cast<std::uint32_t
>(
17245template <
typename E>
17249 const std::shared_ptr<
17252 const std::function<
17253 std::shared_ptr<E>(
17254 const std::shared_ptr<types::IClass>&
17258 impl::AssertNotEnhanced<
17263 switch (that->model_type()) {
17265 return impl::WrapLangStringDefinitionTypeIec61360<E>(
17271 throw std::invalid_argument(
17273 "Unexpected model type: ",
17275 static_cast<std::uint32_t
>(
17285template <
typename E>
17289 const std::shared_ptr<
17292 const std::function<
17293 std::shared_ptr<E>(
17294 const std::shared_ptr<types::IClass>&
17298 impl::AssertNotEnhanced<
17303 switch (that->model_type()) {
17305 return impl::WrapDataSpecificationIec61360<E>(
17311 throw std::invalid_argument(
17313 "Unexpected model type: ",
17315 static_cast<std::uint32_t
>(
17334template <
typename E>
17336 const std::shared_ptr<types::IClass>& that
17338 const std::shared_ptr<impl::IEnhanced<E> >& maybe_enhanced(
17339 std::dynamic_pointer_cast<impl::IEnhanced<E> >(that)
17342 if (!maybe_enhanced) {
17346 return maybe_enhanced->enhancement();
17359template <
typename E>
17361 const std::shared_ptr<types::IClass>& that
17363 std::shared_ptr<E> enhancement(
17366 if (!enhancement) {
17367 throw std::invalid_argument(
17369 "Expected an instance of ",
17371 " to have been already wrapped with an enhancement, "
17372 "but it has been not."
17376 return enhancement;