Skip to content
Snippets Groups Projects
ISRWord.h 1.02 KiB
Newer Older
  • Learn to ignore specific revisions
  • #include "ISR.h"
    
    Nicholas Yang's avatar
    Nicholas Yang committed
    #include <iostream>
    
    #include <vector>
    #include <fcntl.h>
    #include <stdio.h>
    #include <string.h>
    #include <unistd.h>
    #include <sys/mman.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    
    Nicholas Yang's avatar
    Nicholas Yang committed
    #include "WordSeek.h"
    
    jsclose's avatar
    jsclose committed
    #include "../util/util.h"
    
    jsclose's avatar
    jsclose committed
    class ISRWord : public ISR
    
    jsclose's avatar
    jsclose committed
    	public:
    		ISRWord ( char *word );
    
    vcday's avatar
    vcday committed
    
    
    		Location First ( ) override;
    		Location Next ( ) override;
    		Location NextDocument ( ) override;
    		Location Seek ( Location target ) override;
    		Location GetEndDocument ( ) override;
    
    
    jsclose's avatar
    jsclose committed
    		vector< size_t > getSeekContents ( string fileName );
    
    vcday's avatar
    vcday committed
    
    
    jsclose's avatar
    jsclose committed
    		unsigned GetDocumentCount ( );
    
    vcday's avatar
    vcday committed
    
    
    jsclose's avatar
    jsclose committed
    		unsigned GetNumberOfOccurrences ( );
    
    vcday's avatar
    vcday committed
    
    
    jsclose's avatar
    jsclose committed
    		// ISR *GetDocumentISR( );
    
    jsclose's avatar
    jsclose committed
    		char *term;
    		char *masterIndex;
    		vector< size_t > listOfChunks;
    		vector< WordSeek > wordSeekLookupTable;
    		size_t currentChunk;
    		char *currentMemMap;
    
    jsclose's avatar
    jsclose committed
    		//set member variables to all of the chunks that occur, update current chunk
    		void getChunks ( );
    		Location getCurrentLocation();
    
    jsclose's avatar
    jsclose committed
    
    
    jsclose's avatar
    jsclose committed
    	private: