Lines Matching defs:search
19 // Class holding constants and methods that apply to all string search variants,
25 // search will not be optimal, since we only build tables for a suffix
35 // there is no search speed degradation.
104 static int SingleCharSearch(StringSearch<PatternChar, SubjectChar>* search,
108 static int LinearSearch(StringSearch<PatternChar, SubjectChar>* search,
112 static int InitialSearch(StringSearch<PatternChar, SubjectChar>* search,
117 StringSearch<PatternChar, SubjectChar>* search,
120 static int BoyerMooreSearch(StringSearch<PatternChar, SubjectChar>* search,
176 // The pattern to search for.
178 // Pointer to implementation of the search.
236 StringSearch<PatternChar, SubjectChar>* search,
238 DCHECK_EQ(1, search->pattern_.length());
239 PatternChar pattern_first_char = search->pattern_[0];
245 return FindFirstCharacter(search->pattern_, subject, index);
266 // Simple linear search for short patterns. Never bails out.
269 StringSearch<PatternChar, SubjectChar>* search,
271 base::Vector<const PatternChar> pattern = search->pattern_;
292 // Boyer-Moore string search
297 StringSearch<PatternChar, SubjectChar>* search,
299 base::Vector<const PatternChar> pattern = search->pattern_;
303 int start = search->start_;
305 int* bad_char_occurence = search->bad_char_table();
306 int* good_suffix_shift = search->good_suffix_shift_table();
310 // Continue search from i.
411 // Boyer-Moore-Horspool string search.
416 StringSearch<PatternChar, SubjectChar>* search,
418 base::Vector<const PatternChar> pattern = search->pattern_;
421 int* char_occurrences = search->bad_char_table();
429 // Perform search
455 search->PopulateBoyerMooreTable();
456 search->strategy_ = &BoyerMooreSearch;
457 return BoyerMooreSearch(search, subject, index);
491 // Linear string search with bailout to BMH.
494 // Simple linear search for short patterns, which bails out if the string
498 StringSearch<PatternChar, SubjectChar>* search,
500 base::Vector<const PatternChar> pattern = search->pattern_;
527 search->PopulateBoyerMooreHorspoolTable();
528 search->strategy_ = &BoyerMooreHorspoolSearch;
529 return BoyerMooreHorspoolSearch(search, subject, i);
535 // Perform a a single stand-alone search.
536 // If searching multiple times for the same pattern, a search
538 // for each search.
542 StringSearch<PatternChar, SubjectChar> search(isolate, pattern);
543 return search.Search(subject, start_index);