• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  
2  // Licensed under the Apache License, Version 2.0 (the "License");
3  // you may not use this file except in compliance with the License.
4  // You may obtain a copy of the License at
5  //
6  //     http://www.apache.org/licenses/LICENSE-2.0
7  //
8  // Unless required by applicable law or agreed to in writing, software
9  // distributed under the License is distributed on an "AS IS" BASIS,
10  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  // See the License for the specific language governing permissions and
12  // limitations under the License.
13  //
14  // Copyright 2005-2010 Google, Inc.
15  // Author: jpr@google.com (Jake Ratkiewicz)
16  
17  #ifndef FST_SCRIPT_PROJECT_H_
18  #define FST_SCRIPT_PROJECT_H_
19  
20  #include <fst/script/arg-packs.h>
21  #include <fst/script/fst-class.h>
22  #include <fst/project.h>  // for ProjectType
23  
24  namespace fst {
25  namespace script {
26  
27  typedef args::Package<MutableFstClass*, ProjectType> ProjectArgs;
28  
29  template<class Arc>
Project(ProjectArgs * args)30  void Project(ProjectArgs *args) {
31    MutableFst<Arc> *ofst = args->arg1->GetMutableFst<Arc>();
32  
33    Project(ofst, args->arg2);
34  }
35  
36  void Project(MutableFstClass *ofst, ProjectType project_type);
37  
38  }  // namespace script
39  }  // namespace fst
40  
41  
42  
43  #endif  // FST_SCRIPT_PROJECT_H_
44