Boost logo

Boost :

From: eg (egoots_at_[hidden])
Date: 2008-03-11 01:34:26

Robert Dailey wrote:
> Hi,
>>From my research on Iostream devices, I cannot understand why my read()
> statement's 'count' parameter is receiving a value of 4096. For example,
> I've implemented a seekable_device_tag category device that provides direct
> binary disk access. My stream is defined as follows:
> typedef boost::iostreams::stream<DiskDevice> DiskStream;
> DiskStream stream;
> char* buffer; // assume this is a valid buffer
> buffer, 8 );
> The code above (at least to me) should be reading in 8 char's (bytes) of
> data from the stream. However, if I set a break point in DiskDevice::read(),
> the second parameter (named count) receives a value of 4096, which
> eventually gets passed into fread() and causes an exception. I also noticed
> that boost::iostreams::stream derives from the standard streams, which I
> imagine is causing the problems. For direct binary disk access, should I
> avoid boost.iostreams all together? I don't like that boost::stream is going
> through std::iostream::read() before reaching my device's read function.

I thought Jonathan Turkanis answered your questions on boost.users

Boost list run by bdawes at, gregod at, cpdaniel at, john at