|
Thrill
0.1
|
Buffered input stream.
Reads data records from the stream of blocks.
Definition at line 37 of file buf_istream.hpp.
Collaboration diagram for buf_istream< BlockType, BidIteratorType >:#include <buf_istream.hpp>
Public Types | |
| using | bid_iterator_type = BidIteratorType |
| using | block_type = BlockType |
| using | reference = typename block_type::reference |
| using | self_type = buf_istream< block_type, bid_iterator_type > |
Public Member Functions | |
| buf_istream (bid_iterator_type begin, bid_iterator_type end, size_t nbuffers) | |
| buf_istream (const buf_istream &)=delete | |
| non-copyable: delete copy-constructor More... | |
| ~buf_istream () | |
| Frees used internal objects. More... | |
| reference | current () |
| Returns reference to the current record in the stream. More... | |
| reference | operator* () |
| Returns reference to the current record in the stream. More... | |
| self_type & | operator++ () |
| buf_istream & | operator= (const buf_istream &)=delete |
| non-copyable: delete assignment operator More... | |
| self_type & | operator>> (reference record) |
Protected Types | |
| using | prefetcher_type = block_prefetcher< block_type, bid_iterator_type > |
Protected Attributes | |
| block_type * | current_blk |
| size_t | current_elem |
| bool | not_finished |
| size_t * | prefetch_seq |
| prefetcher_type * | prefetcher |
Private Member Functions | |
| buf_istream () | |
| using bid_iterator_type = BidIteratorType |
Definition at line 41 of file buf_istream.hpp.
| using block_type = BlockType |
Definition at line 40 of file buf_istream.hpp.
|
protected |
Definition at line 47 of file buf_istream.hpp.
| using reference = typename block_type::reference |
Definition at line 57 of file buf_istream.hpp.
| using self_type = buf_istream<block_type, bid_iterator_type> |
Definition at line 58 of file buf_istream.hpp.
|
inlineprivate |
Definition at line 44 of file buf_istream.hpp.
Referenced by buf_istream< BlockType, BidIteratorType >::buf_istream().
|
inline |
Constructs input stream object.
| begin | bid_iterator pointing to the first block of the stream |
| end | bid_iterator pointing to the ( last + 1 ) block of the stream |
| nbuffers | number of buffers for internal use |
Definition at line 64 of file buf_istream.hpp.
References buf_istream< BlockType, BidIteratorType >::buf_istream(), foxxll::compute_prefetch_schedule(), config::disks_number(), singleton< config >::get_instance(), max(), config::max_device_id(), buf_istream< BlockType, BidIteratorType >::operator=(), and block_prefetcher< BlockType, BidIteratorType >::pull_block().
|
delete |
non-copyable: delete copy-constructor
|
inline |
Frees used internal objects.
Definition at line 156 of file buf_istream.hpp.
References buf_istream< BlockType, BidIteratorType >::prefetch_seq, and buf_istream< BlockType, BidIteratorType >::prefetcher.
|
inline |
Returns reference to the current record in the stream.
Definition at line 122 of file buf_istream.hpp.
References buf_istream< BlockType, BidIteratorType >::current_elem.
|
inline |
Returns reference to the current record in the stream.
Definition at line 128 of file buf_istream.hpp.
References buf_istream< BlockType, BidIteratorType >::current_elem.
|
inline |
Moves to the next record in the stream.
Definition at line 135 of file buf_istream.hpp.
References block_prefetcher< BlockType, BidIteratorType >::block_consumed(), and TLX_UNLIKELY.
|
delete |
non-copyable: delete assignment operator
Referenced by buf_istream< BlockType, BidIteratorType >::buf_istream().
Input stream operator, reads in record.
| record | reference to the block record type, contains value of the next record in the stream after the call of the operator |
Definition at line 100 of file buf_istream.hpp.
References block_prefetcher< BlockType, BidIteratorType >::block_consumed(), and TLX_UNLIKELY.
|
protected |
Definition at line 50 of file buf_istream.hpp.
|
protected |
Definition at line 49 of file buf_istream.hpp.
Referenced by buf_istream< BlockType, BidIteratorType >::current(), and buf_istream< BlockType, BidIteratorType >::operator*().
|
protected |
Definition at line 53 of file buf_istream.hpp.
|
protected |
Definition at line 51 of file buf_istream.hpp.
Referenced by buf_istream< BlockType, BidIteratorType >::~buf_istream().
|
protected |
Definition at line 48 of file buf_istream.hpp.
Referenced by buf_istream< BlockType, BidIteratorType >::~buf_istream().