10 Commits

Author SHA1 Message Date
Hong, Yang A
23e5f06594 add new Literal API for pure literal expressions:
Design compile time api hs_compile_lit() and hs_compile_lit_multi()
to handle pure literal pattern sets. Corresponding option --literal-on
is added for hyperscan testing suites. Extended parameters and part of
flags are not supported for this api.
2019-08-13 14:51:38 +08:00
Justin Viiret
ba0bf0c991 rose_build_add_mask: improve findMaskLiteral perf 2017-09-18 13:29:34 +10:00
Justin Viiret
012b347284 ue2_literal: define npos in ue2string.cpp 2017-09-18 13:29:33 +10:00
Justin Viiret
25170b32eb ue2_literal: better hash function 2017-09-18 13:26:18 +10:00
Justin Viiret
1aad3b0ed1 ue2_literal: make nocase member a dynamic_bitset
We were previously using vector<bool>, but dynamic_bitset provides a
faster any() impl
2017-09-18 13:26:18 +10:00
Justin Viiret
9cf66b6ac9 util: switch from Boost to std::unordered set/map
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.

The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
c83f2ea389 rose_build_matchers: be more careful w/ mixed-case
Overhaul the way fragment literals are added to HWLM and accel, fix
some bugs shaken out by stricter mask use.
2017-08-21 11:09:45 +10:00
Justin Viiret
6c1143a264 ue2string: fix broken function type in upperString
Silences warning from ubsan.
2016-05-18 16:28:00 +10:00
Justin Viiret
da89f5ef6b ue2string: bring caseless cmp inline 2016-05-18 16:22:18 +10:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00