Thrill  0.1
GolombBitStreamReader< BlockReader > Class Template Reference

Detailed Description

template<typename BlockReader>
class thrill::core::GolombBitStreamReader< BlockReader >

Definition at line 145 of file golomb_bit_stream.hpp.

+ Inheritance diagram for GolombBitStreamReader< BlockReader >:
+ Collaboration diagram for GolombBitStreamReader< BlockReader >:

#include <golomb_bit_stream.hpp>

Public Member Functions

 GolombBitStreamReader (BlockReader &block_reader, const size_t &b)
 
 GolombBitStreamReader (const GolombBitStreamReader &)=delete
 non-copyable: delete copy-constructor More...
 
 GolombBitStreamReader (GolombBitStreamReader &&)=default
 move-constructor: default More...
 
size_t GetGolomb ()
 
bool HasNext ()
 
template<typename Type2 >
size_t Next ()
 
GolombBitStreamReaderoperator= (const GolombBitStreamReader &)=delete
 non-copyable: delete assignment operator More...
 
GolombBitStreamReaderoperator= (GolombBitStreamReader &&)=default
 move-assignment operator: default More...
 
- Public Member Functions inherited from BitStreamReader< BlockReader >
 BitStreamReader (BlockReader &block_reader)
 
 BitStreamReader (const BitStreamReader &)=delete
 non-copyable: delete copy-constructor More...
 
 BitStreamReader (BitStreamReader &&)=default
 move-constructor: default More...
 
size_t GetBits (unsigned bits)
 Get bits at the cursor. More...
 
unsigned GetNumberOfOnesUntilNextZero ()
 Returns the number of continuous 1 bits at the cursor, followed by a zero. More...
 
bool HasNextZeroTest ()
 
BitStreamReaderoperator= (const BitStreamReader &)=delete
 non-copyable: delete assignment operator More...
 
BitStreamReaderoperator= (BitStreamReader &&)=default
 move-assignment operator: default More...
 

Private Types

using Super = BitStreamReader< BlockReader >
 

Private Attributes

size_t b_
 Golomb code parameter. More...
 
bool first_call_ = true
 false, when PutGolomb_in was called already More...
 
int log2b_
 ceil(log2(b_)) More...
 
size_t max_little_value_
 escape value More...
 

Additional Inherited Members

- Protected Types inherited from BitStreamReader< BlockReader >
enum  : size_t { buffer_bits_ = sizeof(size_t) * 8 }
 number of bits in buffer_ More...
 
enum  : size_t { mask = (buffer_bits_ - 1) }
 modulo mask of number of bits in buffer for pos_ counter More...
 
enum  : size_t { msb_set = ((size_t)1) << (buffer_bits_ - 1) }
 highest bit set More...
 
- Protected Attributes inherited from BitStreamReader< BlockReader >
BlockReader & block_reader_
 Input BlockReader. More...
 
size_t buffer_ = 0
 current buffer of 32/64 bits More...
 
size_t pos_ = buffer_bits_
 currently used number of bits More...
 

Member Typedef Documentation

◆ Super

using Super = BitStreamReader<BlockReader>
private

Definition at line 148 of file golomb_bit_stream.hpp.

Constructor & Destructor Documentation

◆ GolombBitStreamReader() [1/3]

GolombBitStreamReader ( BlockReader &  block_reader,
const size_t &  b 
)
inline

◆ GolombBitStreamReader() [2/3]

GolombBitStreamReader ( const GolombBitStreamReader< BlockReader > &  )
delete

non-copyable: delete copy-constructor

◆ GolombBitStreamReader() [3/3]

GolombBitStreamReader ( GolombBitStreamReader< BlockReader > &&  )
default

move-constructor: default

Member Function Documentation

◆ GetGolomb()

◆ HasNext()

bool HasNext ( )
inline

◆ Next()

size_t Next ( )
inline

Definition at line 192 of file golomb_bit_stream.hpp.

References gen_data::value.

◆ operator=() [1/2]

GolombBitStreamReader& operator= ( const GolombBitStreamReader< BlockReader > &  )
delete

non-copyable: delete assignment operator

◆ operator=() [2/2]

GolombBitStreamReader& operator= ( GolombBitStreamReader< BlockReader > &&  )
default

move-assignment operator: default

Member Data Documentation

◆ b_

size_t b_
private

Golomb code parameter.

Definition at line 200 of file golomb_bit_stream.hpp.

◆ first_call_

bool first_call_ = true
private

false, when PutGolomb_in was called already

Definition at line 209 of file golomb_bit_stream.hpp.

◆ log2b_

int log2b_
private

ceil(log2(b_))

Definition at line 203 of file golomb_bit_stream.hpp.

◆ max_little_value_

size_t max_little_value_
private

escape value

Definition at line 206 of file golomb_bit_stream.hpp.


The documentation for this class was generated from the following file: