ggandda / simd-cxx

Automatically exported from code.google.com/p/simd-cxx
0 stars 0 forks source link

std::vector version of DataReader.read won't compile #22

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Code from the SimD slides on SlideShare (and the declarations in reader.hpp) 
suggest the following should work:

std::vector<TempSensorType> data;
std::vector<dds::SampleInfo> info;
dr.read( data, info );

but results in compile errors(Ubuntu 10.04, amd64, gcc 4.4.3):
/usr/local/OpenSplice/SimD/include/dds/peer/reader_impl.hpp:251: error: no 
match for ‘operator*’ in ‘*info_begin’
/usr/local/OpenSplice/SimD/include/dds/peer/reader_impl.hpp:252: error: no 
match for ‘operator++’ in ‘++data_begin’
/usr/local/OpenSplice/SimD/include/dds/peer/reader_impl.hpp:253: error: no 
match for ‘operator++’ in ‘++info_begin’

However both (read data only):
std::vector<TempSensorType> data;
dr.read( data );

and (use dds Seq types):
TempSensorTypeSeq data;
dds::SampleInfoSeq info;
dr.read( data, info)

compile and work correctly.

This is with OpenSplice Community Edition v5.3 and SimD v0.9, both installed in 
/usr/local/OpenSplice/V5.3 and /usr/local/OpenSplice/SimD.  OpenSplice C and 
C++ standalone PingPong examples and SimD ping demos compile and run properly.  
Sources and Makefile attached.

Original issue reported on code.google.com by ken.greg...@gmail.com on 22 Nov 2010 at 3:22

Attachments:

GoogleCodeExporter commented 8 years ago
Hello Ken,

   Thanks for submitting this issue. The problem has been fixed and the update is not committed in the main trunk. 

Original comment by angelo.corsaro@gmail.com on 1 Feb 2011 at 2:06