2 unstable releases
| 0.2.0 | Jan 12, 2019 |
|---|---|
| 0.1.0 | Jan 11, 2019 |
#6 in #rtps
74KB
1.5K
SLoC
RTPS IDL to Rust code generator
A tool reading an IDL and generating corresponding Rust code.
Usage:
rtps-gen -I <include-dir> data.idl -o output.rs
RTPS-IDL to Rust Mapping
The IDL types are mapped onto Rust as follows.
If a type-mapping has not been decided, it is marked with 'NA'.
As RTPS is a data-centric framework in contrast to
the the original OO background, the focus is put onto data structures, and ignoring interfaces and structures so far.
| IDL-Type | Rust-Type |
|---|---|
| module | module |
| boolean | bool |
| char/wchar | char |
| octet | u8 |
| string/wstring | std::string::String |
| short | i16 |
| long | i32 |
| long long | i64 |
| unsigned short | u16 |
| unsigned long | u32 |
| unsigned long long | u64 |
| float | f32 |
| double | f64 |
| fixed | NA |
| enum | enum |
| union | enum |
| struct | struct |
| sequence | std::vec::Vec |
| array, eg. 'T a[N]' | native array '[T;N]' |
| interface (non abstract) | NA |
| interface (abstract) | NA |
| constant (not within interface) | const |
| constant (within an interface) | NA |
| exception | std::result::Result |
| Any | NA |
| type declarations nested within interfaces | NA |
| typedef | type |
| pseudo objects | NA |
| readonly attribute | NA |
| readwrite attribute | NA |
| operation | NA |
Dependencies
~5MB
~98K SLoC