Issue 16411: Make parameter passing same for native/type parameters (dds-psm-cxx-ftf) Source: Remedy IT (Mr. Johnny Willemsen, jwillemsen(at)remedy.nl) Nature: Enhancement Severity: Minor Summary: We would like to propose to make the mapping for native and type parameters the same. So const T& for in and T/const T& for return. This makes the mapping easier and more consistent. For example the DDS InstanceHandle_t is defined as native, some vendors define it as long, some as a struct which leads to different code being generated when the end user has a local interface with a DDS InstanceHandle_t as argument. Also when the end user changes a typedef from a native to a struct the argument passing doesn't change from T to const T&. This doesn't impact performance in anyway, it just makes the mapping the same for all types Resolution: Revised Text: Actions taken: August 1, 2011: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 01 Aug 2011 05:38:52 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Johnny Willemsen Employer: Remedy IT mailFrom: jwillemsen@remedy.nl Terms_Agreement: I agree Specification: ISO/IEC C++ 2003 Language DDS PSM Section: 7.4.3 FormalNumber: 11-01-02 Version: beta 1 Doc_Year: 2011 Doc_Month: January Doc_Day: 01 Page: 10 Title: Make parameter passing same for native/type parameters Nature: Enhancement Severity: Minor CODE: 3TMw8 B1: Report Issue Description: We would like to propose to make the mapping for native and type parameters the same. So const T& for in and T/const T& for return. This makes the mapping easier and more consistent. For example the DDS InstanceHandle_t is defined as native, some vendors define it as long, some as a struct which leads to different code being generated when the end user has a local interface with a DDS InstanceHandle_t as argument. Also when the end user changes a typedef from a native to a struct the argument passing doesn't change from T to const T&. This doesn't impact performance in anyway, it just makes the mapping the same for all types