// Copyright 2009 The RE2 Authors. All Rights Reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #ifndef RE2_PREFILTER_TREE_H_ #define RE2_PREFILTER_TREE_H_ // The PrefilterTree class is used to form an AND-OR tree of strings // that would trigger each regexp. The 'prefilter' of each regexp is // added to PrefilterTree, and then PrefilterTree is used to find all // the unique strings across the prefilters. During search, by using // matches from a string matching engine, PrefilterTree deduces the // set of regexps that are to be triggered. The 'string matching // engine' itself is outside of this class, and the caller can use any // favorite engine. PrefilterTree provides a set of strings (called // atoms) that the user of this class should use to do the string // matching. #include <string> #include <vector> #include "absl/container/flat_hash_set.h" #include "absl/log/absl_check.h" #include "absl/log/absl_log.h" #include "re2/prefilter.h" #include "re2/sparse_array.h" namespace re2 { class PrefilterTree { … }; } // namespace #endif // RE2_PREFILTER_TREE_H_