pub struct IdlFeatures {Show 22 fields
pub corba_value_types_full: bool,
pub corba_value_types_extras: bool,
pub corba_repository_ids: bool,
pub corba_import: bool,
pub corba_local_interface: bool,
pub corba_abstract_interface: bool,
pub corba_object_base: bool,
pub corba_oneway_op: bool,
pub corba_context: bool,
pub corba_components: bool,
pub corba_homes: bool,
pub corba_eventtypes: bool,
pub corba_ports: bool,
pub corba_template_modules: bool,
pub corba_native: bool,
pub preprocessor_full: bool,
pub preprocessor_warning_line: bool,
pub vendor_rti: bool,
pub vendor_opensplice: bool,
pub vendor_opensplice_legacy: bool,
pub vendor_cyclonedds: bool,
pub vendor_fastdds: bool,
}Expand description
Feature-Flag-Set fuer den IDL-Parser.
Default ist DDS-Extensible (Plain DDS + XTypes + DDS-RPC), jeweils ohne CORBA/CCM-Konstrukte und ohne Vendor-Erweiterungen.
Fields§
§corba_value_types_full: boolvaluetype mit state_member, init_dcl, factory-Body
(Spec §7.4.5 Rules 100-109). Box/Forward sind immer aktiv.
corba_value_types_extras: boolabstract valuetype, custom valuetype, truncatable
(Spec §7.4.5 Rules 125-132).
corba_repository_ids: booltypeid und typeprefix Top-Level-Direktiven (Rules 111-117).
corba_import: boolimport Top-Level-Direktive (Rules 115-117).
corba_local_interface: boollocal interface (Rule 119).
corba_abstract_interface: boolabstract interface.
corba_object_base: bool: Object als Base.
corba_oneway_op: booloneway als Prefix vor Op (statt @oneway-Annotation).
corba_context: boolcontext (...) Clause (Rule 123/124).
corba_components: boolcomponent/provides/uses (Rules 133+).
corba_homes: boolhome/manages/primarykey/factory/finder (Rules 145+).
corba_eventtypes: booleventtype/emits/publishes/consumes.
corba_ports: boolporttype/port/mirrorport/connector.
corba_template_modules: boolmodule M<typename T> { ... }; und Template-Instantiation.
corba_native: boolnative <ident>; (Rule 61). Implementiert; per Default an,
abschaltbar fuer Plain-DDS-Profil.
preprocessor_full: boolFunction-like Macros + Token-Pasting ## + #if/#elif mit
Expression-Evaluation.
preprocessor_warning_line: bool#warning und #line-Direktiven.
vendor_rti: boolRTI Connext: @RTI_*-Annotations, keylist-Direktive,
//@key-Legacy-Comments.
vendor_opensplice: boolOpenSplice (modern, post-2010): #pragma keylist plus
modernere @key-Annotations.
vendor_opensplice_legacy: boolOpenSplice Legacy (pre-2010): #pragma keylist,
#pragma DCPS_DATA_TYPE, #pragma DCPS_DATA_KEY,
#pragma cats, #pragma genequality, CORBA-Style-IDLs.
Migration-Use-Case fuer Referenz-Kunden.
vendor_cyclonedds: boolCyclone DDS: #pragma keylist, idlc-spezifische Annotations.
vendor_fastdds: boolFastDDS (eProsima): @RTPS_*-Annotations, @key-Variants.
Implementations§
Source§impl IdlFeatures
impl IdlFeatures
Sourcepub const fn none() -> Self
pub const fn none() -> Self
Alle Feature-Flags off — striktes Plain-DDS-Profil ohne jegliche Erweiterung.
Sourcepub const fn all() -> Self
pub const fn all() -> Self
Alle Feature-Flags on — Full-IDL-4.2 inkl. CORBA/CCM und alle Vendor-Erweiterungen aktiv. Fuer Migration-Use-Cases und Spec-Compliance-Audits.
Sourcepub const fn dds_basic() -> Self
pub const fn dds_basic() -> Self
Plain DDS — minimaler DDS-Topic-Type-Umfang. Native-Type aus, keine CORBA/CCM, keine Vendor-Erweiterungen.
Sourcepub const fn dds_extensible() -> Self
pub const fn dds_extensible() -> Self
DDS + XTypes + DDS-RPC: Native-Type aktiv, alles andere CORBA- spezifische aus, keine Vendor-Erweiterungen. Default fuer den ZeroDDS-Use-Case.
Sourcepub const fn corba_full() -> Self
pub const fn corba_full() -> Self
CORBA-Full: alle CORBA/CCM-Konstrukte aktiv (Value-Types Full, Repository-IDs, Components, Homes, Ports, Template-Modules, alle Interface-Erweiterungen). Keine Vendor-Erweiterungen.
Sourcepub const fn plain_corba() -> Self
pub const fn plain_corba() -> Self
§9.2.1 Plain-CORBA-Profile: Core, Any, Interfaces-Basic, Interfaces-Full, Value-Types, CORBA-Specific-Interfaces, CORBA-Specific-Value-Types — 7 Building-Blocks.
Sourcepub const fn minimum_corba() -> Self
pub const fn minimum_corba() -> Self
§9.2.2 Minimum-CORBA-Profile: 4 Building-Blocks (Core, Interfaces-Basic, Interfaces-Full, CORBA-Specific-Interfaces). Kein Any, keine Value-Types.
Sourcepub const fn ccm_profile() -> Self
pub const fn ccm_profile() -> Self
§9.2.3 CCM-Profile: 9 Building-Blocks (Plain-CORBA + Components-Basic + CCM-Specific).
Sourcepub const fn ccm_with_gis() -> Self
pub const fn ccm_with_gis() -> Self
§9.2.4 IDL3+-Profile (CCM with Generic Interaction Support): 11 Building-Blocks (CCM + Components-Ports/Connectors + Template-Modules).
Sourcepub const fn rpc_over_dds() -> Self
pub const fn rpc_over_dds() -> Self
§9.3.3 RPC-over-DDS-Profile: 7 BBs/Groups (Core, Extended-Data- Types, Anonymous, Interfaces-Basic, Annotations, General-Purpose, Interfaces-Group). Komplexer als pure DDS, weil Interface-BB aktiv.
Sourcepub const fn opensplice_legacy() -> Self
pub const fn opensplice_legacy() -> Self
OpenSplice-Legacy-Profil: CORBA-Full + OpenSplice-Legacy-Pragmas + Preprocessor-Stufe-2. Migration-Use-Case fuer Referenz-Kunde, der eine alte OpenSplice-Variante upgradet.
Sourcepub const fn opensplice_modern() -> Self
pub const fn opensplice_modern() -> Self
OpenSplice-Modern-Profil: DDS-Extensible + OpenSplice-Pragmas.
Sourcepub const fn rti_connext() -> Self
pub const fn rti_connext() -> Self
RTI-Connext-Profil: DDS-Extensible + RTI-Annotations und
keylist-Pragma.
Sourcepub const fn cyclonedds() -> Self
pub const fn cyclonedds() -> Self
Cyclone-DDS-Profil: DDS-Extensible + Cyclone-Pragmas.
Sourcepub const fn with_vendor_rti(self) -> Self
pub const fn with_vendor_rti(self) -> Self
Aktivieren eines Vendor-Profils zusaetzlich zur aktuellen Maske (additiv).
Sourcepub const fn with_opensplice_legacy(self) -> Self
pub const fn with_opensplice_legacy(self) -> Self
Additiv vendor_opensplice_legacy aktivieren.
Sourcepub const fn with_cyclonedds(self) -> Self
pub const fn with_cyclonedds(self) -> Self
Additiv vendor_cyclonedds aktivieren.
Sourcepub const fn with_fastdds(self) -> Self
pub const fn with_fastdds(self) -> Self
Additiv vendor_fastdds aktivieren.
Trait Implementations§
Source§impl Clone for IdlFeatures
impl Clone for IdlFeatures
Source§fn clone(&self) -> IdlFeatures
fn clone(&self) -> IdlFeatures
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IdlFeatures
impl Debug for IdlFeatures
Source§impl Default for IdlFeatures
impl Default for IdlFeatures
Source§impl Hash for IdlFeatures
impl Hash for IdlFeatures
Source§impl PartialEq for IdlFeatures
impl PartialEq for IdlFeatures
Source§fn eq(&self, other: &IdlFeatures) -> bool
fn eq(&self, other: &IdlFeatures) -> bool
self and other values to be equal, and is used by ==.