#include <InvDocList.hpp>
Inheritance diagram for lemur::index::InvDocList:
Public Member Functions | |
InvDocList () | |
InvDocList (lemur::api::TERMID_T id, int len) | |
InvDocList (lemur::utility::MemCache *mc, lemur::api::TERMID_T id, int len) | |
constructors for this list getting memory from a MemCache | |
InvDocList (lemur::utility::MemCache *mc, lemur::api::TERMID_T id, int len, lemur::api::DOCID_T docid, lemur::api::LOC_T location) | |
InvDocList (lemur::api::TERMID_T id, int listlen, lemur::api::LOC_T *list, int fr, lemur::api::DOCID_T *ldocid, int len) | |
constructor for a list not needing to get any memory | |
~InvDocList () | |
void | setList (lemur::api::TERMID_T id, int listlen, lemur::api::LOC_T *list, int fr, lemur::api::DOCID_T *ldocid=NULL, int len=0) |
void | setListSafe (lemur::api::TERMID_T id, int listlen, lemur::api::LOC_T *list, int fr, lemur::api::DOCID_T *ldocid, int len) |
void | reset () |
void | resetFree () |
bool | allocMem () |
bool | hasNoMem () |
virtual bool | addTerm (lemur::api::DOCID_T docid) |
increase count for this docid, we don't care about location | |
virtual bool | append (InvDocList *tail) |
append the given list to the end of this list. watch for overlap of lastdocid of this list and first docid of given list. | |
virtual void | startIteration () const |
prepare iteration | |
virtual bool | hasMore () const |
test if there's any entry | |
virtual lemur::api::DocInfo * | nextEntry () const |
fetch the next entry, return a pointer to a local static memory, so do not delete it | |
virtual void | nextEntry (lemur::api::DocInfo *info) const |
lemur::api::DOCID_T | curDocID () const |
lemur::api::COUNT_T | docFreq () const |
int | length () const |
lemur::api::TERMID_T | termID () const |
int | termLen () const |
virtual lemur::api::COUNT_T | termCTF () const |
int | curDocIDdiff () const |
int | curDocIDtf () const |
int | memorySize () const |
void | binWrite (ofstream &of) |
write this object in binary to the given filestream. the stream should support binary writing. | |
bool | binRead (ifstream &inf) |
read an object from the given stream into memory. the stream should be pointing to the correct place, starting exactly where binWrite began writing. this method should be used with the empty constructor, else watch out for mem leaks. returns whether the read was successful | |
void | binWriteC (ofstream &of) |
write this object in binary to the given filestream. the stream should support binary writing. RVL compression is used before writing | |
bool | binReadC (ifstream &inf) |
read an object from the given stream into memory. the stream should be pointing to the correct place, starting exactly where binWrite began writing. this method should be used with the empty constructor, else watch out for mem leaks. returns whether the read was successful. RVL decompression is done. | |
Protected Member Functions | |
virtual lemur::api::DocInfo * | getElement (lemur::api::DocInfo *elem, lemur::api::POS_T position) const |
set element from position, returns pointer to the element | |
virtual lemur::api::POS_T | beginPosition () const |
position at beginning of list | |
virtual lemur::api::POS_T | endPosition () const |
position at end of list | |
virtual lemur::api::POS_T | nextPosition (lemur::api::POS_T position) const |
advance position | |
bool | getMoreMem () |
int | logb2 (int num) |
virtual void | deltaEncode () |
virtual void | deltaDecode () |
Protected Attributes | |
lemur::api::LOC_T * | begin |
lemur::api::LOC_T * | lastid |
lemur::api::LOC_T * | freq |
lemur::api::LOC_T * | end |
lemur::api::LOC_T * | iter |
int | size |
int | LOC_Tsize |
int | strlength |
lemur::api::TERMID_T | uid |
lemur::api::COUNT_T | df |
lemur::utility::MemCache * | cache |
bool | hascache |
bool | READ_ONLY |
Private Attributes | |
lemur::api::DocInfo | entry |
|
|
|
constructor for this list using malloc for its own memory usage of InvDocList without MemCache has not been tested |
|
constructors for this list getting memory from a MemCache
|
|
|
|
constructor for a list not needing to get any memory
|
|
|
|
increase count for this docid, we don't care about location
Reimplemented in lemur::index::InvFPDocList. |
|
|
|
append the given list to the end of this list. watch for overlap of lastdocid of this list and first docid of given list.
Reimplemented in lemur::index::InvFPDocList. |
|
position at beginning of list
Implements lemur::api::DocInfoList. |
|
read an object from the given stream into memory. the stream should be pointing to the correct place, starting exactly where binWrite began writing. this method should be used with the empty constructor, else watch out for mem leaks. returns whether the read was successful
|
|
read an object from the given stream into memory. the stream should be pointing to the correct place, starting exactly where binWrite began writing. this method should be used with the empty constructor, else watch out for mem leaks. returns whether the read was successful. RVL decompression is done.
|
|
write this object in binary to the given filestream. the stream should support binary writing.
|
|
write this object in binary to the given filestream. the stream should support binary writing. RVL compression is used before writing
|
|
|
|
|
|
|
|
delta decode docids from begin through end call after read Reimplemented in lemur::index::InvFPDocList. |
|
delta encode docids from begin through end call before write Reimplemented in lemur::index::InvFPDocList. |
|
|
|
position at end of list
Implements lemur::api::DocInfoList. |
|
set element from position, returns pointer to the element
Implements lemur::api::DocInfoList. Reimplemented in lemur::index::InvFPDocList. |
|
internal method for allocating more memory to list as needed double what we had before |
|
test if there's any entry
Implements lemur::api::DocInfoList. |
|
|
|
|
|
|
|
|
|
Reimplemented in lemur::index::InvFPDocList. |
|
fetch the next entry, return a pointer to a local static memory, so do not delete it
Implements lemur::api::DocInfoList. Reimplemented in lemur::index::InvFPDocList. |
|
advance position
Implements lemur::api::DocInfoList. Reimplemented in lemur::index::InvFPDocList. |
|
reset the list such that it points to nothing. doesn't free the memory be careful when using this to avoid memory leaks. if you are not managing memory, you should probably use resetFree()
|
|
reset the list and free the memory being used for it
|
|
this is meant for use with the empty constructor this allows the DocList values to be set. however it doesn't guarantee that the outsider will be able to set everything properly. thus, when this method is used, the object becomes READ_ONLY such that methods which attempt to append the contents of the list will not be able to
|
|
same as the setList above. however the READ_ONLY flag will not get set. this method should be used only if you really know what you're doing |
|
prepare iteration
Implements lemur::api::DocInfoList. |
|
Reimplemented in lemur::index::InvFPDocList. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in lemur::index::InvFPDocList. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|