Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-100236

Add Latin1 case-insensitive Boyer-Moore searcher

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • None
    • None
    • None
    • 8
    • 15368fb31b (qt/qtbase/dev) 15368fb31b (qt/tqtc-qtbase/dev), 3fedcd4e4 (dev), f46bcad99 (dev), d83aabad0 (dev), 41824a02c (dev)
    • Team B Foundation Sprint 55, Foundation Sprint 62, Foundation Sprint 63, Foundation Sprint 64, Foundation Sprint 65, Foundation Sprint 66, Foundation Sprint 67, Foundation Sprint 68, Foundation Sprint 69, Foundation Sprint 70, Foundation Sprint 71, Foundation Sprint 72, Foundation Sprint 73, Foundation Sprint 74, Foundation Sprint 75, Foundation Sprint 76, Foundation Sprint 77, Foundation Sprint 89, Foundation Sprint 90

      We currently use std::boyer_moore_searcher for that, but there are two problems with that:

      1. Microsoft's STL, until quite recently, had a bug in their implementation: https://github.com/microsoft/STL/pull/724
      2. AppleClang's libc++ doesn't include it, yet, and our fall-back of converting needle and haystack to UTF-16 and doing the search in UTF-16 space is unacceptable

      We can't add a CS argument to QByteArrayMatcher, since we want to get rid of string-ish API for QByteArray, so I guess we'll just copy the code and use the latin1lower table in qstring.cpp has the hash function.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            oyheskes Øystein Heskestad
            mmutz Marc Mutz
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes