FST  openfst-1.7.1
OpenFst Library
arcsort.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_ARCSORT_H_
5 #define FST_SCRIPT_ARCSORT_H_
6 
7 #include <utility>
8 
9 #include <fst/arcsort.h>
10 #include <fst/script/fst-class.h>
11 
12 namespace fst {
13 namespace script {
14 
18 };
19 
20 using ArcSortArgs = std::pair<MutableFstClass *, ArcSortType>;
21 
22 template <class Arc>
23 void ArcSort(ArcSortArgs *args) {
24  MutableFst<Arc> *fst = std::get<0>(*args)->GetMutableFst<Arc>();
25  switch (std::get<1>(*args)) {
26  case ILABEL_SORT: {
27  const ILabelCompare<Arc> icomp;
28  ArcSort(fst, icomp);
29  return;
30  }
31  case OLABEL_SORT: {
32  const OLabelCompare<Arc> ocomp;
33  ArcSort(fst, ocomp);
34  return;
35  }
36  }
37 }
38 
40 
41 } // namespace script
42 } // namespace fst
43 
44 #endif // FST_SCRIPT_ARCSORT_H_
std::pair< MutableFstClass *, ArcSortType > ArcSortArgs
Definition: arcsort.h:20
void ArcSort(ArcSortArgs *args)
Definition: arcsort.h:23