v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::StringSearch< PatternChar, SubjectChar > Class Template Reference

#include <string-search.h>

Inheritance diagram for v8::internal::StringSearch< PatternChar, SubjectChar >:
Collaboration diagram for v8::internal::StringSearch< PatternChar, SubjectChar >:

Public Member Functions

 StringSearch (Isolate *isolate, base::Vector< const PatternChar > pattern)
 
int Search (base::Vector< const SubjectChar > subject, int index)
 

Static Public Member Functions

static int AlphabetSize ()
 

Private Types

using SearchFunction
 

Private Member Functions

void PopulateBoyerMooreHorspoolTable ()
 
void PopulateBoyerMooreTable ()
 
int * bad_char_table ()
 
int * good_suffix_shift_table ()
 
int * suffix_table ()
 

Static Private Member Functions

static int FailSearch (StringSearch< PatternChar, SubjectChar > *, base::Vector< const SubjectChar >, int)
 
static int SingleCharSearch (StringSearch< PatternChar, SubjectChar > *search, base::Vector< const SubjectChar > subject, int start_index)
 
static int LinearSearch (StringSearch< PatternChar, SubjectChar > *search, base::Vector< const SubjectChar > subject, int start_index)
 
static int InitialSearch (StringSearch< PatternChar, SubjectChar > *search, base::Vector< const SubjectChar > subject, int start_index)
 
static int BoyerMooreHorspoolSearch (StringSearch< PatternChar, SubjectChar > *search, base::Vector< const SubjectChar > subject, int start_index)
 
static int BoyerMooreSearch (StringSearch< PatternChar, SubjectChar > *search, base::Vector< const SubjectChar > subject, int start_index)
 
static bool exceedsOneByte (uint8_t c)
 
static bool exceedsOneByte (uint16_t c)
 
static int CharOccurrence (int *bad_char_occurrence, SubjectChar char_code)
 
- Static Private Member Functions inherited from v8::internal::StringSearchBase
static bool IsOneByteString (base::Vector< const uint8_t > string)
 
static bool IsOneByteString (base::Vector< const base::uc16 > string)
 

Private Attributes

Isolateisolate_
 
base::Vector< const PatternChar > pattern_
 
SearchFunction strategy_
 
int start_
 

Additional Inherited Members

- Static Private Attributes inherited from v8::internal::StringSearchBase
static const int kBMMaxShift = Isolate::kBMMaxShift
 
static const int kLatin1AlphabetSize = 256
 
static const int kUC16AlphabetSize = Isolate::kUC16AlphabetSize
 
static const int kBMMinPatternLength = 7
 

Detailed Description

template<typename PatternChar, typename SubjectChar>
class v8::internal::StringSearch< PatternChar, SubjectChar >

Definition at line 57 of file string-search.h.

Member Typedef Documentation

◆ SearchFunction

template<typename PatternChar , typename SubjectChar >
using v8::internal::StringSearch< PatternChar, SubjectChar >::SearchFunction
private
Initial value:
base::Vector<const SubjectChar>, int)
StringSearch(Isolate *isolate, base::Vector< const PatternChar > pattern)

Definition at line 97 of file string-search.h.

Constructor & Destructor Documentation

◆ StringSearch()

template<typename PatternChar , typename SubjectChar >
v8::internal::StringSearch< PatternChar, SubjectChar >::StringSearch ( Isolate * isolate,
base::Vector< const PatternChar > pattern )
inline

Definition at line 59 of file string-search.h.

Here is the call graph for this function:

Member Function Documentation

◆ AlphabetSize()

template<typename PatternChar , typename SubjectChar >
static int v8::internal::StringSearch< PatternChar, SubjectChar >::AlphabetSize ( )
inlinestatic

Definition at line 85 of file string-search.h.

◆ bad_char_table()

template<typename PatternChar , typename SubjectChar >
int * v8::internal::StringSearch< PatternChar, SubjectChar >::bad_char_table ( )
inlineprivate

Definition at line 159 of file string-search.h.

Here is the caller graph for this function:

◆ BoyerMooreHorspoolSearch()

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::BoyerMooreHorspoolSearch ( StringSearch< PatternChar, SubjectChar > * search,
base::Vector< const SubjectChar > subject,
int start_index )
staticprivate

Definition at line 416 of file string-search.h.

Here is the call graph for this function:

◆ BoyerMooreSearch()

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::BoyerMooreSearch ( StringSearch< PatternChar, SubjectChar > * search,
base::Vector< const SubjectChar > subject,
int start_index )
staticprivate

Definition at line 297 of file string-search.h.

Here is the call graph for this function:

◆ CharOccurrence()

template<typename PatternChar , typename SubjectChar >
static int v8::internal::StringSearch< PatternChar, SubjectChar >::CharOccurrence ( int * bad_char_occurrence,
SubjectChar char_code )
inlinestaticprivate

Definition at line 135 of file string-search.h.

Here is the call graph for this function:

◆ exceedsOneByte() [1/2]

template<typename PatternChar , typename SubjectChar >
static bool v8::internal::StringSearch< PatternChar, SubjectChar >::exceedsOneByte ( uint16_t c)
inlinestaticprivate

Definition at line 131 of file string-search.h.

◆ exceedsOneByte() [2/2]

template<typename PatternChar , typename SubjectChar >
static bool v8::internal::StringSearch< PatternChar, SubjectChar >::exceedsOneByte ( uint8_t c)
inlinestaticprivate

Definition at line 129 of file string-search.h.

Here is the caller graph for this function:

◆ FailSearch()

template<typename PatternChar , typename SubjectChar >
static int v8::internal::StringSearch< PatternChar, SubjectChar >::FailSearch ( StringSearch< PatternChar, SubjectChar > * ,
base::Vector< const SubjectChar > ,
int  )
inlinestaticprivate

Definition at line 100 of file string-search.h.

Here is the caller graph for this function:

◆ good_suffix_shift_table()

template<typename PatternChar , typename SubjectChar >
int * v8::internal::StringSearch< PatternChar, SubjectChar >::good_suffix_shift_table ( )
inlineprivate

Definition at line 162 of file string-search.h.

Here is the caller graph for this function:

◆ InitialSearch()

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::InitialSearch ( StringSearch< PatternChar, SubjectChar > * search,
base::Vector< const SubjectChar > subject,
int start_index )
staticprivate

Definition at line 498 of file string-search.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LinearSearch()

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::LinearSearch ( StringSearch< PatternChar, SubjectChar > * search,
base::Vector< const SubjectChar > subject,
int start_index )
staticprivate

Definition at line 269 of file string-search.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PopulateBoyerMooreHorspoolTable()

template<typename PatternChar , typename SubjectChar >
void v8::internal::StringSearch< PatternChar, SubjectChar >::PopulateBoyerMooreHorspoolTable ( )
private

Definition at line 466 of file string-search.h.

Here is the caller graph for this function:

◆ PopulateBoyerMooreTable()

template<typename PatternChar , typename SubjectChar >
void v8::internal::StringSearch< PatternChar, SubjectChar >::PopulateBoyerMooreTable ( )
private

Definition at line 346 of file string-search.h.

Here is the caller graph for this function:

◆ Search()

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::Search ( base::Vector< const SubjectChar > subject,
int index )
inline

Definition at line 81 of file string-search.h.

Here is the caller graph for this function:

◆ SingleCharSearch()

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::SingleCharSearch ( StringSearch< PatternChar, SubjectChar > * search,
base::Vector< const SubjectChar > subject,
int start_index )
staticprivate

Definition at line 236 of file string-search.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ suffix_table()

template<typename PatternChar , typename SubjectChar >
int * v8::internal::StringSearch< PatternChar, SubjectChar >::suffix_table ( )
inlineprivate

Definition at line 170 of file string-search.h.

Member Data Documentation

◆ isolate_

template<typename PatternChar , typename SubjectChar >
Isolate* v8::internal::StringSearch< PatternChar, SubjectChar >::isolate_
private

Definition at line 176 of file string-search.h.

◆ pattern_

template<typename PatternChar , typename SubjectChar >
base::Vector<const PatternChar> v8::internal::StringSearch< PatternChar, SubjectChar >::pattern_
private

Definition at line 178 of file string-search.h.

◆ start_

template<typename PatternChar , typename SubjectChar >
int v8::internal::StringSearch< PatternChar, SubjectChar >::start_
private

Definition at line 182 of file string-search.h.

◆ strategy_

template<typename PatternChar , typename SubjectChar >
SearchFunction v8::internal::StringSearch< PatternChar, SubjectChar >::strategy_
private

Definition at line 180 of file string-search.h.


The documentation for this class was generated from the following file: