Thrill
0.1
|
Buffered input stream, reading the items in the blocks in reverse order.
Reads data records from the stream of blocks in reverse order.
Definition at line 39 of file buf_istream_reverse.hpp.
#include <buf_istream_reverse.hpp>
Public Types | |
using | bid_iterator_type = BidIteratorType |
using | bid_vector_type = BIDArray< block_type::raw_size > |
using | block_type = BlockType |
using | reference = typename block_type::reference |
using | self_type = buf_istream_reverse< block_type, bid_iterator_type > |
Public Member Functions | |
buf_istream_reverse (bid_iterator_type begin, bid_iterator_type end, size_t nbuffers) | |
buf_istream_reverse (const buf_istream_reverse &)=delete | |
non-copyable: delete copy-constructor More... | |
~buf_istream_reverse () | |
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_reverse & | operator= (const buf_istream_reverse &)=delete |
non-copyable: delete assignment operator More... | |
self_type & | operator>> (reference record) |
Protected Types | |
using | prefetcher_type = block_prefetcher< block_type, typename bid_vector_type::iterator > |
Protected Attributes | |
bid_vector_type | bids_ |
block_type * | current_blk |
size_t | current_elem |
bool | not_finished |
size_t * | prefetch_seq |
prefetcher_type * | prefetcher |
Private Member Functions | |
buf_istream_reverse () | |
using bid_iterator_type = BidIteratorType |
Definition at line 43 of file buf_istream_reverse.hpp.
using bid_vector_type = BIDArray<block_type::raw_size> |
Definition at line 47 of file buf_istream_reverse.hpp.
using block_type = BlockType |
Definition at line 42 of file buf_istream_reverse.hpp.
|
protected |
Definition at line 53 of file buf_istream_reverse.hpp.
using reference = typename block_type::reference |
Definition at line 64 of file buf_istream_reverse.hpp.
Definition at line 65 of file buf_istream_reverse.hpp.
|
inlineprivate |
Definition at line 50 of file buf_istream_reverse.hpp.
Referenced by buf_istream_reverse< BlockType, BidIteratorType >::buf_istream_reverse().
|
inline |
Constructs input stream object, reading [first,last) blocks in reverse.
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 71 of file buf_istream_reverse.hpp.
References SimpleVector< ValueType, Mode >::begin(), buf_istream_reverse< BlockType, BidIteratorType >::buf_istream_reverse(), foxxll::compute_prefetch_schedule(), config::disks_number(), SimpleVector< ValueType, Mode >::end(), singleton< config >::get_instance(), max(), config::max_device_id(), buf_istream_reverse< BlockType, BidIteratorType >::operator=(), buf_istream_reverse< BlockType, BidIteratorType >::prefetch_seq, and SimpleVector< ValueType, Mode >::size().
|
delete |
non-copyable: delete copy-constructor
|
inline |
Frees used internal objects.
Definition at line 174 of file buf_istream_reverse.hpp.
References buf_istream_reverse< BlockType, BidIteratorType >::prefetch_seq, and buf_istream_reverse< BlockType, BidIteratorType >::prefetcher.
|
inline |
Returns reference to the current record in the stream.
Definition at line 137 of file buf_istream_reverse.hpp.
References buf_istream_reverse< BlockType, BidIteratorType >::current_elem.
|
inline |
Returns reference to the current record in the stream.
Definition at line 143 of file buf_istream_reverse.hpp.
References buf_istream_reverse< BlockType, BidIteratorType >::current_elem.
|
inline |
Moves to the previous record in the stream.
Definition at line 150 of file buf_istream_reverse.hpp.
References block_prefetcher< BlockType, BidIteratorType >::block_consumed(), and TLX_UNLIKELY.
|
delete |
non-copyable: delete assignment operator
Referenced by buf_istream_reverse< BlockType, BidIteratorType >::buf_istream_reverse().
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 111 of file buf_istream_reverse.hpp.
References block_prefetcher< BlockType, BidIteratorType >::block_consumed(), buf_istream_reverse< BlockType, BidIteratorType >::current_elem, and TLX_UNLIKELY.
|
protected |
Definition at line 61 of file buf_istream_reverse.hpp.
|
protected |
Definition at line 56 of file buf_istream_reverse.hpp.
|
protected |
Definition at line 55 of file buf_istream_reverse.hpp.
Referenced by buf_istream_reverse< BlockType, BidIteratorType >::current(), buf_istream_reverse< BlockType, BidIteratorType >::operator*(), and buf_istream_reverse< BlockType, BidIteratorType >::operator>>().
|
protected |
Definition at line 59 of file buf_istream_reverse.hpp.
|
protected |
Definition at line 57 of file buf_istream_reverse.hpp.
Referenced by buf_istream_reverse< BlockType, BidIteratorType >::buf_istream_reverse(), and buf_istream_reverse< BlockType, BidIteratorType >::~buf_istream_reverse().
|
protected |
Definition at line 54 of file buf_istream_reverse.hpp.
Referenced by buf_istream_reverse< BlockType, BidIteratorType >::~buf_istream_reverse().