// See www.openfst.org for extensive documentation on this weighted // finite-state transducer library. // // Synchronize an FST with bounded delay. #ifndef FST_SYNCHRONIZE_H_ #define FST_SYNCHRONIZE_H_ #include #include #include #include #include #include #include #include namespace fst { using SynchronizeFstOptions = CacheOptions; namespace internal { // Implementation class for SynchronizeFst. // TODO(kbg,sorenj): Refactor to guarantee thread-safety. template class SynchronizeFstImpl : public CacheImpl { public: using Label = typename Arc::Label; using StateId = typename Arc::StateId; using Weight = typename Arc::Weight; using FstImpl::SetType; using FstImpl::SetProperties; using FstImpl::SetInputSymbols; using FstImpl::SetOutputSymbols; using CacheBaseImpl>::PushArc; using CacheBaseImpl>::HasArcs; using CacheBaseImpl>::HasFinal; using CacheBaseImpl>::HasStart; using CacheBaseImpl>::SetArcs; using CacheBaseImpl>::SetFinal; using CacheBaseImpl>::SetStart; using String = basic_string