Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

InvDocList Class Reference

#include <InvDocList.hpp>

Inheritance diagram for InvDocList:

DocInfoList InvFPDocList List of all members.

Public Methods

 InvDocList ()
 InvDocList (int id, int len)
 InvDocList (MemCache *mc, int id, int len)
 constructors for this list getting memory from a MemCache

 InvDocList (MemCache *mc, int id, int len, int docid, int location)
 InvDocList (int id, int listlen, int *list, int fr, int *ldocid, int len)
 constructor for a list not needing to get any memory

 ~InvDocList ()
void setList (int id, int listlen, int *list, int fr, int *ldocid=NULL, int len=0)
void setListSafe (int id, int listlen, int *list, int fr, int *ldocid, int len)
void reset ()
void resetFree ()
bool allocMem ()
bool hasNoMem ()
virtual bool addTerm (int 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 ()
 prepare iteration

virtual bool hasMore ()
 test if there's any entry

virtual DocInfonextEntry ()
 fetch the next entry, return a pointer to a local static memory, so do not delete it

virtual void nextEntry (InvDocInfo *info)
DOCID_T curDocID ()
int docFreq ()
int length ()
int termID ()
int termLen ()
virtual int termCTF ()
int curDocIDdiff ()
int curDocIDtf ()
int memorySize ()
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 Methods

bool getMoreMem ()
int logb2 (int num)
virtual void deltaEncode ()
virtual void deltaDecode ()

Protected Attributes

int * begin
int * lastid
int * freq
int * end
int * iter
int size
int intsize
int strlength
TERMID_T uid
int df
MemCachecache
bool hascache
bool READ_ONLY

Private Attributes

InvDocInfo entry

Constructor & Destructor Documentation

InvDocList::InvDocList  
 

InvDocList::InvDocList int    id,
int    len
 

constructor for this list using malloc for its own memory usage of InvDocList without MemCache has not been tested

InvDocList::InvDocList MemCache   mc,
int    id,
int    len
 

constructors for this list getting memory from a MemCache

InvDocList::InvDocList MemCache   mc,
int    id,
int    len,
int    docid,
int    location
 

InvDocList::InvDocList int    id,
int    listlen,
int *    list,
int    fr,
int *    ldocid,
int    len
 

constructor for a list not needing to get any memory

InvDocList::~InvDocList  
 


Member Function Documentation

bool InvDocList::addTerm int    docid [virtual]
 

increase count for this docid, we don't care about location

Reimplemented in InvFPDocList.

bool InvDocList::allocMem  
 

bool InvDocList::append InvDocList *    tail [virtual]
 

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 InvFPDocList.

bool InvDocList::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

bool InvDocList::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.

void InvDocList::binWrite ofstream &    of
 

write this object in binary to the given filestream. the stream should support binary writing.

void InvDocList::binWriteC ofstream &    of
 

write this object in binary to the given filestream. the stream should support binary writing. RVL compression is used before writing

DOCID_T InvDocList::curDocID   [inline]
 

int InvDocList::curDocIDdiff   [inline]
 

int InvDocList::curDocIDtf   [inline]
 

void InvDocList::deltaDecode   [protected, virtual]
 

delta decode docids from begin through end call after read

Reimplemented in InvFPDocList.

void InvDocList::deltaEncode   [protected, virtual]
 

delta encode docids from begin through end call before write

Reimplemented in InvFPDocList.

int InvDocList::docFreq   [inline]
 

bool InvDocList::getMoreMem   [protected]
 

internal method for allocating more memory to list as needed double what we had before

bool InvDocList::hasMore   [virtual]
 

test if there's any entry

Implements DocInfoList.

bool InvDocList::hasNoMem  
 

int InvDocList::length   [inline]
 

int InvDocList::logb2 int    num [protected]
 

int InvDocList::memorySize   [inline]
 

void InvDocList::nextEntry InvDocInfo   info [virtual]
 

DocInfo * InvDocList::nextEntry   [virtual]
 

fetch the next entry, return a pointer to a local static memory, so do not delete it

Implements DocInfoList.

Reimplemented in InvFPDocList.

void InvDocList::reset  
 

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()

See also:
resetFree

void InvDocList::resetFree  
 

reset the list and free the memory being used for it

See also:
reset

void InvDocList::setList int    id,
int    listlen,
int *    list,
int    fr,
int *    ldocid = NULL,
int    len = 0
 

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

See also:
setListSafe

void InvDocList::setListSafe int    id,
int    listlen,
int *    list,
int    fr,
int *    ldocid,
int    len
 

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

void InvDocList::startIteration   [virtual]
 

prepare iteration

Implements DocInfoList.

int InvDocList::termCTF   [virtual]
 

Reimplemented in InvFPDocList.

int InvDocList::termID   [inline]
 

int InvDocList::termLen   [inline]
 


Member Data Documentation

int* InvDocList::begin [protected]
 

MemCache* InvDocList::cache [protected]
 

int InvDocList::df [protected]
 

int* InvDocList::end [protected]
 

InvDocInfo InvDocList::entry [private]
 

Reimplemented in InvFPDocList.

int* InvDocList::freq [protected]
 

bool InvDocList::hascache [protected]
 

int InvDocList::intsize [protected]
 

int* InvDocList::iter [protected]
 

int* InvDocList::lastid [protected]
 

bool InvDocList::READ_ONLY [protected]
 

int InvDocList::size [protected]
 

int InvDocList::strlength [protected]
 

TERMID_T InvDocList::uid [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Feb 6 07:12:02 2004 for LEMUR by doxygen1.2.16