qfind overloads
Synopses
Declared in <folly/Range.h>
Finds the first occurrence of needle in haystack. The result is the offset reported to the beginning of haystack, or string::npos if needle wasn't found.
template<class Iter>
size_t
qfind(
Range<Iter> const& haystack,
Range<Iter>::value_type const& needle);
template<>
size_t
qfind<char const*>(
Range<char const*> const& haystack,
char const& needle);
template<>
size_t
qfind<unsigned char const*>(
Range<unsigned char const*> const& haystack,
unsigned char const& needle);
Finds the first occurrence of needle in haystack. The algorithm is on average faster than O(haystack.size() * needle.size()) but not as fast as Boyer‐Moore. On the upside, it does not do any upfront preprocessing and does not allocate memory.
template<
class Iter,
class Comp = std::equal_to<Range<Iter>::value_type>>
size_t
qfind(
Range<Iter> const& haystack,
Range<Iter> const& needle,
Comp eq = Comp());
Return Value
The offset of the first match, or npos if not found.
Parameters
Name |
Description |
haystack |
The range to search within. |
needle |
The element to search for. |
eq |
The equality comparison used to match elements. |
Created with MrDocs