// // Created by Jake Close on 3/13/18. // #pragma once #include "ISR.h" #include <vector> // Find occurrences of any child ISR. using namespace std; class ISROr : public ISR { public: vector<ISR*>Terms; unsigned NumberOfTerms; ISROr ( vector<ISR * > InputTerms ); Location First ( ) override; Location Next ( ) override; Location NextDocument ( ) override; Location Seek ( Location target ) override; Location GetEndDocument ( ) override; Location GetCurrentLocation(); Location GetStartLocation ( ); Location GetEndLocation ( ); private: ISR *nearestTerm; // nearStartLocation and nearestEndLocation are// the start and end of the nearestTerm. Location nearestStartLocation, nearestEndLocation; };