bool findMatch( const char* subject, int length, int startoffset, MatchOptions matchOptions, MemArray<int>& ovector ) const { ASSERT(pcre_callout == pcreCalloutCallback); return pcre_exec(re, NULL, subject, length, startoffset, matchOptions.getOptions()|PCRE_NO_UTF8_CHECK, ovector.getPtr(0), ovector.getLength()) > 0; }
bool findMatch(void* object, CalloutFunction* calloutFunctionX, const char* subject, int length, int startoffset, MatchOptions matchOptions, MemArray<int>& ovector) const { ASSERT(pcre_callout == pcreCalloutCallback); CalloutData calloutData; calloutData.object = object; calloutData.calloutFunction = calloutFunctionX; pcre_extra extra; extra.flags = PCRE_EXTRA_CALLOUT_DATA; extra.callout_data = &calloutData; bool rslt = pcre_exec(re, &extra, subject, length, startoffset, matchOptions.getOptions()|PCRE_NO_UTF8_CHECK, ovector.getPtr(0), ovector.getLength()) > 0; return rslt; }
bool operator==(const MemArray<T>& rhs) const { return (getLength() == rhs.getLength() && memcmp(getPtr(0), rhs.getPtr(0), getLength() * sizeof(T)) == 0); }