Issue 16374: Use traits for topic/datareader/datawriter (dds-psm-cxx-ftf) Source: Remedy IT (Mr. Johnny Willemsen, jwillemsen(at)remedy.nl) Nature: Enhancement Severity: Significant Summary: The proposed PSM takes the DDS PSM and now gives the users templates instead of new classes as with the IDL to C++ mapping. For example RadarTrackDataWriter becomes DataWriter<RadarTrack>. To my idea this this is syntactical sugar and I still see how the DDS implementation implement their support. I would like to propose a different way. As user I just have RadarTrack, that is coming from my user domain, so why now create a set of traits that can be used by the end user. Than he doesn't see anything special from DDS, not whether it is a template or a class. So he writes RadarTrack::data_writer_type dw = pub.create_datawriter() RadarTrack::topic_type tp = dp.create_topic(). The DDS implementation can than do anything behind data_writer_type, the only thing the user has to know are the traits and the methods that are possible to be used. Resolution: Revised Text: Actions taken: July 20, 2011: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 20 Jul 2011 07:54: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: overall FormalNumber: 2011-01-02 Version: beta 1 Doc_Year: 2011 Doc_Month: January Doc_Day: 01 Page: all Title: Use traits for topic/datareader/datawriter Nature: Enhancement Severity: Significant CODE: 3TMw8 B1: Report Issue Description: The proposed PSM takes the DDS PSM and now gives the users templates instead of new classes as with the IDL to C++ mapping. For example RadarTrackDataWriter becomes DataWriter. To my idea this this is syntactical sugar and I still see how the DDS implementation implement their support. I would like to propose a different way. As user I just have RadarTrack, that is coming from my user domain, so why now create a set of traits that can be used by the end user. Than he doesn't see anything special from DDS, not whether it is a template or a class. So he writes RadarTrack::data_writer_type dw = pub.create_datawriter() RadarTrack::topic_type tp = dp.create_topic(). The DDS implementation can than do anything behind data_writer_type, the only thing the user has to know are the traits and the methods that are possible to be used.