Re: [Boost-users] return type of boost::iostreams::stream<T>::read()
Hallo Éric, although it is not an exact fit it will be of value in evaluating my options. kind regards Axel Strübing
Reading the documentation about boost::iostreams library I could not find the information which return type the boost::iostreams::stream's class is giving me calling read().
From the documentation, a boost::iostreams::stream derives from an std::basic_[i|o]stream, depending on the model of its underlying Device. In your example, the device is a Source, so I guess that the stream derives from std::basic_istream, whose read(char*, streamsize) method returns a basic_istream, not a streamsize.
The library offers the "streamsize read(stream, char*, streamsize)" function template. Using it in your example yould give something like (not tested):
#include
#include #include int main(void){ namespace bio = boost::iostreams; bio::streambio::file_source istr(std::string("in.pdf")); char buffer[10]; std::streamsize i = bio::read(istr,buffer,10); return 0; }
HTH,
Éric Malenfant --------------------------------------------- Two wrongs don't make a right but three rights make a left. --
participants (1)
-
Struebing, Axel, le-tex