From: Slava, Alex (raf.devel_at_[hidden])
Date: 2006-05-19 00:33:29
> Is it possible to read a range of bytes with a single function call?
> Or would that require one function call per byte?
At the moment, yes. We will implement insert() for range copy using iterators,
and also low-level methods read() and write() for block copy.
However, the whole sense of random access files is that once the data
has been accessed, it is very likely to be in memory, and you rarely
have to copy it into separate buffer. Operations can be performed with
data in place with no performance degradation (operator  is inline
and incurs virtually no overhead).
> And how are IO errors handled if memory mapping is used?
Interesting question. All errors that are received from system
routines can, and actually are handled. But when it comes to errors
raised by virtual memory manager, i.e I/O errors during paging
occurs, or when the storage where the mapped file resides is removed,
there seems no way for library code to handle it, since the error has
to be handled on the level of memory management. However, we will
investigate this case further.
-- Svyatoslav Trukhanov, Oleksii Ursulenko
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk