diff options
author | Ted Yin <[email protected]> | 2015-08-14 17:42:26 +0800 |
---|---|---|
committer | Ted Yin <[email protected]> | 2015-08-14 17:42:26 +0800 |
commit | c3cffb58b9921d78753336421b52b9ffdaa5515c (patch) | |
tree | bfea20e97c200cf734021e3756d749c892e658a4 /kaldi_io/src/tools/openfst/include/fst/arcfilter.h | |
parent | 10cce5f6a5c9e2f8e00d5a2a4d87c9cb7c26bf4c (diff) | |
parent | dfdd17afc2e984ec6c32ea01290f5c76309a456a (diff) |
Merge pull request #2 from yimmon/master
remove needless files
Diffstat (limited to 'kaldi_io/src/tools/openfst/include/fst/arcfilter.h')
-rw-r--r-- | kaldi_io/src/tools/openfst/include/fst/arcfilter.h | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/kaldi_io/src/tools/openfst/include/fst/arcfilter.h b/kaldi_io/src/tools/openfst/include/fst/arcfilter.h deleted file mode 100644 index 179dc2c..0000000 --- a/kaldi_io/src/tools/openfst/include/fst/arcfilter.h +++ /dev/null @@ -1,99 +0,0 @@ -// arcfilter.h - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Copyright 2005-2010 Google, Inc. -// Author: [email protected] (Michael Riley) -// -// \file -// Function objects to restrict which arcs are traversed in an FST. - -#ifndef FST_LIB_ARCFILTER_H__ -#define FST_LIB_ARCFILTER_H__ - - -#include <fst/fst.h> -#include <fst/util.h> - - -namespace fst { - -// True for all arcs. -template <class A> -class AnyArcFilter { -public: - bool operator()(const A &arc) const { return true; } -}; - - -// True for (input/output) epsilon arcs. -template <class A> -class EpsilonArcFilter { -public: - bool operator()(const A &arc) const { - return arc.ilabel == 0 && arc.olabel == 0; - } -}; - - -// True for input epsilon arcs. -template <class A> -class InputEpsilonArcFilter { -public: - bool operator()(const A &arc) const { - return arc.ilabel == 0; - } -}; - - -// True for output epsilon arcs. -template <class A> -class OutputEpsilonArcFilter { -public: - bool operator()(const A &arc) const { - return arc.olabel == 0; - } -}; - - -// True if specified labels match (don't match) when keep_match is -// true (false). -template <class A> -class MultiLabelArcFilter { -public: - typedef typename A::Label Label; - - MultiLabelArcFilter(bool match_input = true, bool keep_match = true) - : match_input_(match_input), - keep_match_(keep_match) {} - - - bool operator()(const A &arc) const { - Label label = match_input_ ? arc.ilabel : arc.olabel; - bool match = labels_.Find(label) != labels_.End(); - return keep_match_ ? match : !match; - } - - void AddLabel(Label label) { - labels_.Insert(label); - } - -private: - CompactSet<Label, kNoLabel> labels_; - bool match_input_; - bool keep_match_; -}; - -} // namespace fst - -#endif // FST_LIB_ARCFILTER_H__ |