| 13 | |
| 14 | |
| 15 | static inline bool FastHasPrefix(const TStringBuf& suffix, const TStringBuf& prefix) { |
| 16 | if (suffix.size() < prefix.size()) { |
| 17 | return false; |
| 18 | } |
| 19 | |
| 20 | switch (prefix.size()) { |
| 21 | case 1: |
| 22 | return suffix[0] == prefix[0]; |
| 23 | case 2: |
| 24 | return ReadUnaligned<ui16>(suffix.data()) == ReadUnaligned<ui16>(prefix.data()); |
| 25 | } |
| 26 | return suffix.StartsWith(prefix); |
| 27 | } |
| 28 | |
| 29 | enum TExpressionOperation { |
| 30 | EO_BEGIN, |
no test coverage detected