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)
 constructor for this list using malloc for its own memory usage of InvDocList without MemCache has not been tested.

 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)
 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 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 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 resetFree ()
 reset the list and free the memory being used for it
See also:
reset.


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 ()
int curDocIDdiff ()
int curDocIDtf ()
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 ()
 delta encode docids from begin through end call before write. More...

virtual void deltaDecode ()
 delta decode docids from begin through end call after read.


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

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 * par_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.

double our current mem size

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.

Reimplemented from DocInfoList.

bool InvDocList::hasNoMem ( )
 

int InvDocList::length ( ) [inline]
 

int InvDocList::logb2 ( int num ) [protected]
 

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.

Reimplemented from 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.

Reimplemented from DocInfoList.

int InvDocList::termID ( ) [inline]
 

int InvDocList::termLen ( ) [inline]
 


Member Data Documentation

bool InvDocList::READ_ONLY [protected]
 

int * InvDocList::begin [protected]
 

MemCache * InvDocList::cache [protected]
 

int InvDocList::df [protected]
 

int * InvDocList::end [protected]
 

int * InvDocList::freq [protected]
 

bool InvDocList::hascache [protected]
 

int InvDocList::intsize [protected]
 

int * InvDocList::iter [protected]
 

int * InvDocList::lastid [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 at Fri Jul 26 18:27:01 2002 for LEMUR by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000