Skip to main content

IdlFeatures

Struct IdlFeatures 

Source
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: bool

valuetype mit state_member, init_dcl, factory-Body (Spec §7.4.5 Rules 100-109). Box/Forward sind immer aktiv.

§corba_value_types_extras: bool

abstract valuetype, custom valuetype, truncatable (Spec §7.4.5 Rules 125-132).

§corba_repository_ids: bool

typeid und typeprefix Top-Level-Direktiven (Rules 111-117).

§corba_import: bool

import Top-Level-Direktive (Rules 115-117).

§corba_local_interface: bool

local interface (Rule 119).

§corba_abstract_interface: bool

abstract interface.

§corba_object_base: bool

: Object als Base.

§corba_oneway_op: bool

oneway als Prefix vor Op (statt @oneway-Annotation).

§corba_context: bool

context (...) Clause (Rule 123/124).

§corba_components: bool

component/provides/uses (Rules 133+).

§corba_homes: bool

home/manages/primarykey/factory/finder (Rules 145+).

§corba_eventtypes: bool

eventtype/emits/publishes/consumes.

§corba_ports: bool

porttype/port/mirrorport/connector.

§corba_template_modules: bool

module M<typename T> { ... }; und Template-Instantiation.

§corba_native: bool

native <ident>; (Rule 61). Implementiert; per Default an, abschaltbar fuer Plain-DDS-Profil.

§preprocessor_full: bool

Function-like Macros + Token-Pasting ## + #if/#elif mit Expression-Evaluation.

§preprocessor_warning_line: bool

#warning und #line-Direktiven.

§vendor_rti: bool

RTI Connext: @RTI_*-Annotations, keylist-Direktive, //@key-Legacy-Comments.

§vendor_opensplice: bool

OpenSplice (modern, post-2010): #pragma keylist plus modernere @key-Annotations.

§vendor_opensplice_legacy: bool

OpenSplice 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: bool

Cyclone DDS: #pragma keylist, idlc-spezifische Annotations.

§vendor_fastdds: bool

FastDDS (eProsima): @RTPS_*-Annotations, @key-Variants.

Implementations§

Source§

impl IdlFeatures

Source

pub const fn none() -> Self

Alle Feature-Flags off — striktes Plain-DDS-Profil ohne jegliche Erweiterung.

Source

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.

Source

pub const fn dds_basic() -> Self

Plain DDS — minimaler DDS-Topic-Type-Umfang. Native-Type aus, keine CORBA/CCM, keine Vendor-Erweiterungen.

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub const fn ccm_profile() -> Self

§9.2.3 CCM-Profile: 9 Building-Blocks (Plain-CORBA + Components-Basic + CCM-Specific).

Source

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).

Source

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.

Source

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.

Source

pub const fn opensplice_modern() -> Self

OpenSplice-Modern-Profil: DDS-Extensible + OpenSplice-Pragmas.

Source

pub const fn rti_connext() -> Self

RTI-Connext-Profil: DDS-Extensible + RTI-Annotations und keylist-Pragma.

Source

pub const fn cyclonedds() -> Self

Cyclone-DDS-Profil: DDS-Extensible + Cyclone-Pragmas.

Source

pub const fn fastdds() -> Self

FastDDS-Profil: DDS-Extensible + FastDDS-Annotations.

Source

pub const fn with_vendor_rti(self) -> Self

Aktivieren eines Vendor-Profils zusaetzlich zur aktuellen Maske (additiv).

Source

pub const fn with_opensplice_legacy(self) -> Self

Additiv vendor_opensplice_legacy aktivieren.

Source

pub const fn with_cyclonedds(self) -> Self

Additiv vendor_cyclonedds aktivieren.

Source

pub const fn with_fastdds(self) -> Self

Additiv vendor_fastdds aktivieren.

Trait Implementations§

Source§

impl Clone for IdlFeatures

Source§

fn clone(&self) -> IdlFeatures

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IdlFeatures

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for IdlFeatures

Source§

fn default() -> Self

Default: DDS-Extensible-Profil (Plain DDS + XTypes + DDS-RPC, Native-Type, keine CORBA/CCM, keine Vendor-Erweiterungen).

Source§

impl Hash for IdlFeatures

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for IdlFeatures

Source§

fn eq(&self, other: &IdlFeatures) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for IdlFeatures

Source§

impl Eq for IdlFeatures

Source§

impl StructuralPartialEq for IdlFeatures

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.