// fstext/determinize-star-inl.h // Copyright 2009-2011 Microsoft Corporation; Jan Silovsky // 2015 Hainan Xu // See ../../COPYING for clarification regarding multiple authors // // 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 // // THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED // WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, // MERCHANTABLITY OR NON-INFRINGEMENT. // See the Apache 2 License for the specific language governing permissions and // limitations under the License. #ifndef KALDI_FSTEXT_DETERMINIZE_STAR_INL_H_ #define KALDI_FSTEXT_DETERMINIZE_STAR_INL_H_ // Do not include this file directly. It is included by determinize-star.h #include #include #include #include #include #include #include #include using std::unordered_map; #include "base/kaldi-error.h" namespace fst { // This class maps back and forth from/to integer id's to sequences of strings. // used in determinization algorithm. template class StringRepository { // Label and StringId are both integer types, possibly the same. // This is a utility that maps back and forth between a vector