void TGgSchBs::AddRSet(const PGgSchRSet& RSet){ // save references for (int HitN=0; HitN<RSet->GetHits(); HitN++){ PGgSchRef Ref=RSet->GetHit(HitN); AddRef(Ref); } }
void TGgSchRSet::Merge(const PGgSchRSet& RSet){ if (RSet.Empty()){return;} // create hash table of existing urls TStrH TitleStrH(GetHits()); for (int HitN=0; HitN<GetHits(); HitN++){ TitleStrH.AddKey(GetHit(HitN)->TitleStr); } // merge hits for (int HitN=0; HitN<RSet->GetHits(); HitN++){ PGgSchRef Ref=RSet->GetHit(HitN); if (!TitleStrH.IsKey(Ref->TitleStr)){ AddHit(Ref); TitleStrH.AddKey(Ref->TitleStr); } } // reset fixed fields PutNextUrlStr(""); PutAllHits(-1); }