xapian-core  2.0.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Xapian::BitReader Class Reference

Read a stream created by BitWriter. More...

#include <bitstream.h>

+ Collaboration diagram for Xapian::BitReader:

Classes

struct  DIStack
 
struct  DIState
 

Public Member Functions

 BitReader ()
 
 BitReader (const char *p_, const char *end_)
 
void init (const char *p_, const char *end_)
 
Xapian::termpos decode (Xapian::termpos outof, bool force=false)
 
bool check_all_gone () const
 
void decode_interpolative (int j, int k, Xapian::termpos pos_j, Xapian::termpos pos_k)
 Perform interpolative decoding between elements between j and k. More...
 
Xapian::termpos decode_interpolative_next ()
 Perform on-demand interpolative decoding. More...
 

Private Member Functions

Xapian::termpos read_bits (int count)
 

Private Attributes

const char * p
 
const char * end
 
int n_bits
 
Xapian::termpos acc
 
std::vector< DIStackdi_stack
 
DIState di_current
 

Detailed Description

Read a stream created by BitWriter.

Definition at line 66 of file bitstream.h.

Constructor & Destructor Documentation

◆ BitReader() [1/2]

Xapian::BitReader::BitReader ( )
inline

Definition at line 123 of file bitstream.h.

◆ BitReader() [2/2]

Xapian::BitReader::BitReader ( const char *  p_,
const char *  end_ 
)
inline

Definition at line 126 of file bitstream.h.

Member Function Documentation

◆ check_all_gone()

bool Xapian::BitReader::check_all_gone ( ) const
inline

Definition at line 146 of file bitstream.h.

References acc, end, n_bits, and p.

Referenced by check_glass_table().

◆ decode()

Xapian::termpos Xapian::BitReader::decode ( Xapian::termpos  outof,
bool  force = false 
)

◆ decode_interpolative()

void Xapian::BitReader::decode_interpolative ( int  j,
int  k,
Xapian::termpos  pos_j,
Xapian::termpos  pos_k 
)

Perform interpolative decoding between elements between j and k.

Definition at line 229 of file bitstream.cc.

References Assert, and highest_order_bit().

Referenced by check_glass_table(), HoneyValueManager::delete_document(), and HoneyValueManager::get_all_values().

◆ decode_interpolative_next()

Xapian::termpos Xapian::BitReader::decode_interpolative_next ( )

Perform on-demand interpolative decoding.

Definition at line 239 of file bitstream.cc.

References Assert, and decode().

Referenced by check_glass_table(), HoneyValueManager::delete_document(), and HoneyValueManager::get_all_values().

◆ init()

void Xapian::BitReader::init ( const char *  p_,
const char *  end_ 
)
inline

Definition at line 130 of file bitstream.h.

References acc, di_current, di_stack, end, n_bits, p, and Xapian::BitReader::DIState::uninit().

◆ read_bits()

Xapian::termpos Xapian::BitReader::read_bits ( int  count)
private

Definition at line 203 of file bitstream.cc.

References Assert, and p.

Member Data Documentation

◆ acc

Xapian::termpos Xapian::BitReader::acc
private

Definition at line 73 of file bitstream.h.

Referenced by check_all_gone(), and init().

◆ di_current

DIState Xapian::BitReader::di_current
private

Definition at line 119 of file bitstream.h.

Referenced by init().

◆ di_stack

std::vector<DIStack> Xapian::BitReader::di_stack
private

Definition at line 118 of file bitstream.h.

Referenced by init().

◆ end

const char* Xapian::BitReader::end
private

Definition at line 69 of file bitstream.h.

Referenced by check_all_gone(), and init().

◆ n_bits

int Xapian::BitReader::n_bits
private

Definition at line 71 of file bitstream.h.

Referenced by check_all_gone(), and init().

◆ p

const char* Xapian::BitReader::p
private

Definition at line 67 of file bitstream.h.

Referenced by check_all_gone(), and init().


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