22 #include <glog/logging.h> 40 template <
typename Range>
49 const char*
end()
const {
53 return size_t(
e_ -
b_);
62 template <
typename Range>
63 explicit operator Range()
const {
75 auto ret = std::find_first_of(
80 [](
char a,
char b) {
return a ==
b; });
81 return ret == haystack.
end() ? std::string::npos : ret - haystack.
begin();
96 return std::string::npos;
101 if ((needles.
size() >= 4 && haystack.
size() <= 10) ||
102 (needles.
size() >= 16 && haystack.
size() <= 64) || needles.
size() >= 32) {
size_t qfind_first_byte_of_std(const StringPieceLite haystack, const StringPieceLite needles)
size_t qfind_first_byte_of_byteset(const StringPieceLite haystack, const StringPieceLite needles)
—— Concurrent Priority Queue Implementation ——
const char * begin() const
const char & operator[](size_t i) const
const char * data() const
size_t qfind_first_byte_of_nosse(const StringPieceLite haystack, const StringPieceLite needles)
StringPieceLite(const char *b, const char *e)
size_t qfind_first_byte_of_bitset(const StringPieceLite haystack, const StringPieceLite needles)
StringPieceLite(const Range &r)