#include <flint_positionlist.h>
Inheritance diagram for FlintPositionList:


Public Member Functions | |
| FlintPositionList () | |
| Default constructor. | |
| FlintPositionList (const FlintTable *table, Xapian::docid did, const string &tname) | |
| Construct and initialise with data. | |
| ~FlintPositionList () | |
| Destructor. | |
| bool | read_data (const FlintTable *table, Xapian::docid did, const string &tname) |
| Fill list with data, and move the position to the start. | |
| Xapian::termcount | get_size () const |
| Returns size of position list. | |
| Xapian::termpos | get_position () const |
| Returns current position. | |
| void | next () |
| Advance to the next term position in the list. | |
| void | skip_to (Xapian::termpos termpos) |
| Advance to the first term position which is at least termpos. | |
| bool | at_end () const |
| True if we're off the end of the list. | |
Private Member Functions | |
| void | next_internal () |
| Advance to next term position. | |
| FlintPositionList (const FlintPositionList &) | |
| Copying is not allowed. | |
| void | operator= (const FlintPositionList &) |
| Assignment is not allowed. | |
Private Attributes | |
| vector< Xapian::termpos > | positions |
| Vector of term positions. | |
| vector< Xapian::termpos >::const_iterator | current_pos |
| Position of iteration through data. | |
| bool | have_started |
| Have we started iterating yet? | |
Definition at line 68 of file flint_positionlist.h.
| FlintPositionList::FlintPositionList | ( | const FlintPositionList & | ) | [private] |
Copying is not allowed.
| FlintPositionList::FlintPositionList | ( | ) | [inline] |
| FlintPositionList::FlintPositionList | ( | const FlintTable * | table, | |
| Xapian::docid | did, | |||
| const string & | tname | |||
| ) | [inline] |
Construct and initialise with data.
Definition at line 92 of file flint_positionlist.h.
References read_data().
| FlintPositionList::~FlintPositionList | ( | ) | [inline] |
| void FlintPositionList::next_internal | ( | ) | [private] |
Advance to next term position.
| void FlintPositionList::operator= | ( | const FlintPositionList & | ) | [private] |
Assignment is not allowed.
| bool FlintPositionList::read_data | ( | const FlintTable * | table, | |
| Xapian::docid | did, | |||
| const string & | tname | |||
| ) |
Fill list with data, and move the position to the start.
Definition at line 282 of file flint_positionlist.cc.
References current_pos, DEBUGCALL, Xapian::BitReader::decode(), Xapian::BitReader::decode_interpolative(), FlintTable::get_exact_entry(), have_started, pack_uint_preserving_sort(), positions, Xapian::BitReader::read_bits(), and unpack_uint().
Referenced by FlintPositionList(), and FlintPostList::read_position_list().
| Xapian::termcount FlintPositionList::get_size | ( | ) | const [virtual] |
Returns size of position list.
Implements Xapian::PositionIterator::Internal.
Definition at line 325 of file flint_positionlist.cc.
| Xapian::termpos FlintPositionList::get_position | ( | ) | const [virtual] |
Returns current position.
Either next() or skip_to() must have been called before this method can be called.
Implements Xapian::PositionIterator::Internal.
Definition at line 332 of file flint_positionlist.cc.
References Assert, current_pos, DEBUGCALL, have_started, and RETURN.
| void FlintPositionList::next | ( | ) | [virtual] |
Advance to the next term position in the list.
Implements Xapian::PositionIterator::Internal.
Definition at line 340 of file flint_positionlist.cc.
References Assert, at_end(), current_pos, DEBUGCALL, and have_started.
| void FlintPositionList::skip_to | ( | Xapian::termpos | termpos | ) | [virtual] |
Advance to the first term position which is at least termpos.
Implements Xapian::PositionIterator::Internal.
Definition at line 353 of file flint_positionlist.cc.
References at_end(), current_pos, DEBUGCALL, and have_started.
| bool FlintPositionList::at_end | ( | ) | const [virtual] |
True if we're off the end of the list.
Implements Xapian::PositionIterator::Internal.
Definition at line 363 of file flint_positionlist.cc.
References current_pos, DEBUGCALL, positions, and RETURN.
vector<Xapian::termpos> FlintPositionList::positions [private] |
Vector of term positions.
Definition at line 70 of file flint_positionlist.h.
Referenced by at_end(), get_size(), and read_data().
vector<Xapian::termpos>::const_iterator FlintPositionList::current_pos [private] |
Position of iteration through data.
Definition at line 73 of file flint_positionlist.h.
Referenced by at_end(), get_position(), next(), read_data(), and skip_to().
bool FlintPositionList::have_started [private] |
Have we started iterating yet?
Definition at line 76 of file flint_positionlist.h.
Referenced by get_position(), next(), read_data(), and skip_to().