diff options
author | bnagaev <bnagaev@yandex-team.ru> | 2022-02-10 16:47:04 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:04 +0300 |
commit | d6449ba66291ff0c0d352c82e6eb3efb4c8a7e8d (patch) | |
tree | d5dca6d44593f5e52556a1cc7b1ab0386e096ebe /contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h | |
parent | 1861d4c1402bb2c67a3e6b43b51706081b74508a (diff) | |
download | ydb-d6449ba66291ff0c0d352c82e6eb3efb4c8a7e8d.tar.gz |
Restoring authorship annotation for <bnagaev@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h')
-rw-r--r-- | contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h | 162 |
1 files changed, 81 insertions, 81 deletions
diff --git a/contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h b/contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h index 1a4042ce66..8183a0d2e7 100644 --- a/contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h +++ b/contrib/libs/hyperscan/src/nfagraph/ng_mcclellan.h @@ -1,81 +1,81 @@ -/* - * Copyright (c) 2015, Intel Corporation - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/** \file - * \brief Build code for McClellan DFA. - */ - -#ifndef NG_MCCLELLAN_H -#define NG_MCCLELLAN_H - -#include "ue2common.h" - -#include <memory> -#include <vector> - -namespace ue2 { - -class CharReach; -class NGHolder; -class ReportManager; -struct Grey; -struct raw_dfa; - -/** - * \brief Determinises an NFA Graph into a raw_dfa. - * - * \param g - * The NGHolder. - * \param rm - * A pointer to the ReportManager, if managed reports are used (e.g. - * for outfixes/suffixes). Otherwise nullptr. - * \param single_trigger - * True if it is known that the nfa will only ever be trigger once. - * \param triggers - * Representing when tops may arrive. Only used by NFA_INFIX and - * NFA_SUFFIX, should be empty for other types. - * \param grey - * Grey box object. - * \param finalChance - * Allows us to build bigger DFAs as the only alternative is an outfix. - * - * \return A raw_dfa, or nullptr on failure (state limit blown). - */ -std::unique_ptr<raw_dfa> buildMcClellan(const NGHolder &g, - const ReportManager *rm, bool single_trigger, - const std::vector<std::vector<CharReach>> &triggers, - const Grey &grey, bool finalChance = false); - -/** Convenience wrapper for non-triggered engines */ -std::unique_ptr<raw_dfa> buildMcClellan(const NGHolder &g, - const ReportManager *rm, - const Grey &grey); - -} // namespace ue2 - -#endif // NG_MCCLELLAN_H +/* + * Copyright (c) 2015, Intel Corporation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** \file + * \brief Build code for McClellan DFA. + */ + +#ifndef NG_MCCLELLAN_H +#define NG_MCCLELLAN_H + +#include "ue2common.h" + +#include <memory> +#include <vector> + +namespace ue2 { + +class CharReach; +class NGHolder; +class ReportManager; +struct Grey; +struct raw_dfa; + +/** + * \brief Determinises an NFA Graph into a raw_dfa. + * + * \param g + * The NGHolder. + * \param rm + * A pointer to the ReportManager, if managed reports are used (e.g. + * for outfixes/suffixes). Otherwise nullptr. + * \param single_trigger + * True if it is known that the nfa will only ever be trigger once. + * \param triggers + * Representing when tops may arrive. Only used by NFA_INFIX and + * NFA_SUFFIX, should be empty for other types. + * \param grey + * Grey box object. + * \param finalChance + * Allows us to build bigger DFAs as the only alternative is an outfix. + * + * \return A raw_dfa, or nullptr on failure (state limit blown). + */ +std::unique_ptr<raw_dfa> buildMcClellan(const NGHolder &g, + const ReportManager *rm, bool single_trigger, + const std::vector<std::vector<CharReach>> &triggers, + const Grey &grey, bool finalChance = false); + +/** Convenience wrapper for non-triggered engines */ +std::unique_ptr<raw_dfa> buildMcClellan(const NGHolder &g, + const ReportManager *rm, + const Grey &grey); + +} // namespace ue2 + +#endif // NG_MCCLELLAN_H |