Thrill
0.1
|
Buffered input stream.
Reads data records from the stream of blocks.
Definition at line 37 of file buf_istream.hpp.
#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().