Boost logo

Boost Users :

From: shunsuke (pstade.mb_at_[hidden])
Date: 2007-03-07 21:12:17


Pfligersdorffer, Christian wrote:
> Hello all!
>
> I face the problem of partitioning a file that i read with ifstream into portions that are to be processed by some clients. I want to ensure that a client only views a specific part (window, range) of the stream. So far I store 2 streamoffsets posStart and posEnd, call seekg on the stream, pass it to the client by ref and rely on the client to check when it reached posEnd.
>
> However, I certainly cannot copy the whole range into a new stream object and pass that one. Efficiency does matter.
>
> Any suggestions? Maybe some iterator-magic can be done?

How about Boost.Spirit file_iterator?
That is a read-only RandomAccessIterator for files.
http://spirit.sourceforge.net/distrib/spirit_1_8_3/libs/spirit/doc/file_iterator.html

-- 
Shunsuke Sogame

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net