FST  openfst-1.7.1
OpenFst Library
concat.h
Go to the documentation of this file.
1 // See www.openfst.org for extensive documentation on this weighted
2 // finite-state transducer library.
3 
4 #ifndef FST_SCRIPT_CONCAT_H_
5 #define FST_SCRIPT_CONCAT_H_
6 
7 #include <utility>
8 
9 #include <fst/concat.h>
10 #include <fst/script/fst-class.h>
11 
12 namespace fst {
13 namespace script {
14 
15 using ConcatArgs1 = std::pair<MutableFstClass *, const FstClass &>;
16 
17 template <class Arc>
18 void Concat(ConcatArgs1 *args) {
19  MutableFst<Arc> *ofst = std::get<0>(*args)->GetMutableFst<Arc>();
20  const Fst<Arc> &ifst = *(std::get<1>(*args).GetFst<Arc>());
21  Concat(ofst, ifst);
22 }
23 
24 using ConcatArgs2 = std::pair<const FstClass &, MutableFstClass *>;
25 
26 template <class Arc>
27 void Concat(ConcatArgs2 *args) {
28  const Fst<Arc> &ifst = *(std::get<0>(*args).GetFst<Arc>());
29  MutableFst<Arc> *ofst = std::get<1>(*args)->GetMutableFst<Arc>();
30  Concat(ifst, ofst);
31 }
32 
33 void Concat(MutableFstClass *ofst, const FstClass &ifst);
34 
35 void Concat(const FstClass &ifst, MutableFstClass *ofst);
36 
37 } // namespace script
38 } // namespace fst
39 
40 #endif // FST_SCRIPT_CONCAT_H_
std::pair< const FstClass &, MutableFstClass * > ConcatArgs2
Definition: concat.h:24
std::pair< MutableFstClass *, const FstClass & > ConcatArgs1
Definition: concat.h:15
void Concat(ConcatArgs1 *args)
Definition: concat.h:18