You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
4.3 KiB

  1. // Copyright 2005-2024 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the 'License');
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an 'AS IS' BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. //
  15. // See www.openfst.org for extensive documentation on this weighted
  16. // finite-state transducer library.
  17. //
  18. // This is a library for constructing, combining, optimizing, and searching
  19. // "weighted finite-state transducers" (FSTs). Weighted finite-state transducers
  20. // are automata where each transition has an input label, an output label, and a
  21. // weight. The more familiar finite-state acceptor is represented as a
  22. // transducer with each transition's input and output the same. Finite-state
  23. // acceptors are used to represent sets of strings (specifically, "regular" or
  24. // "rational sets"); finite-state transducers are used to represent binary
  25. // relations between pairs of strings (specifically, "rational transductions").
  26. // The weights can be used to represent the cost of taking a particular
  27. // transition.
  28. //
  29. // In this library, transducers are templated on the Arc (transition)
  30. // definition, which allows changing the label, weight, and state ID sets.
  31. // Labels and state IDs are restricted to signed integral types but the weight
  32. // can be an arbitrary type whose members satisfy certain algebraic ("semiring")
  33. // properties.
  34. //
  35. // This convenience file includes all other FST header files.
  36. #ifndef FST_FSTLIB_H_
  37. #define FST_FSTLIB_H_
  38. // Do not let Include-What-You-Use suggest this file.
  39. #include <fst/accumulator.h>
  40. #include <fst/add-on.h>
  41. #include <fst/arc-map.h>
  42. #include <fst/arc.h>
  43. #include <fst/arcfilter.h>
  44. #include <fst/arcsort.h>
  45. #include <fst/cache.h>
  46. #include <fst/cc-visitors.h>
  47. #include <fst/closure.h>
  48. #include <fst/compact-fst.h>
  49. #include <fst/complement.h>
  50. #include <fst/compose-filter.h>
  51. #include <fst/compose.h>
  52. #include <fst/concat.h>
  53. #include <fst/connect.h>
  54. #include <fst/const-fst.h>
  55. #include <fst/determinize.h>
  56. #include <fst/dfs-visit.h>
  57. #include <fst/difference.h>
  58. #include <fst/disambiguate.h>
  59. #include <fst/edit-fst.h>
  60. #include <fst/encode.h>
  61. #include <fst/epsnormalize.h>
  62. #include <fst/equal.h>
  63. #include <fst/equivalent.h>
  64. #include <fst/expanded-fst.h>
  65. #include <fst/expectation-weight.h>
  66. #include <fst/factor-weight.h>
  67. #include <fst/float-weight.h>
  68. #include <fst/fst.h>
  69. #include <fst/generic-register.h>
  70. #include <fst/heap.h>
  71. #include <fst/impl-to-fst.h>
  72. #include <fst/intersect.h>
  73. #include <fst/interval-set.h>
  74. #include <fst/invert.h>
  75. #include <fst/isomorphic.h>
  76. #include <fst/label-reachable.h>
  77. #include <fst/lexicographic-weight.h>
  78. #include <fst/lookahead-filter.h>
  79. #include <fst/lookahead-matcher.h>
  80. #include <fst/matcher-fst.h>
  81. #include <fst/matcher.h>
  82. #include <fst/minimize.h>
  83. #include <fst/mutable-fst.h>
  84. #include <fst/pair-weight.h>
  85. #include <fst/partition.h>
  86. #include <fst/power-weight.h>
  87. #include <fst/product-weight.h>
  88. #include <fst/project.h>
  89. #include <fst/properties.h>
  90. #include <fst/prune.h>
  91. #include <fst/push.h>
  92. #include <fst/queue.h>
  93. #include <fst/randequivalent.h>
  94. #include <fst/randgen.h>
  95. #include <fst/rational.h>
  96. #include <fst/register.h>
  97. #include <fst/relabel.h>
  98. #include <fst/replace-util.h>
  99. #include <fst/replace.h>
  100. #include <fst/reverse.h>
  101. #include <fst/reweight.h>
  102. #include <fst/rmepsilon.h>
  103. #include <fst/rmfinalepsilon.h>
  104. #include <fst/shortest-distance.h>
  105. #include <fst/shortest-path.h>
  106. #include <fst/signed-log-weight.h>
  107. #include <fst/sparse-power-weight.h>
  108. #include <fst/sparse-tuple-weight.h>
  109. #include <fst/state-map.h>
  110. #include <fst/state-reachable.h>
  111. #include <fst/state-table.h>
  112. #include <fst/statesort.h>
  113. #include <fst/string-weight.h>
  114. #include <fst/string.h>
  115. #include <fst/symbol-table-ops.h>
  116. #include <fst/symbol-table.h>
  117. #include <fst/synchronize.h>
  118. #include <fst/topsort.h>
  119. #include <fst/tuple-weight.h>
  120. #include <fst/union-find.h>
  121. #include <fst/union.h>
  122. #include <fst/util.h>
  123. #include <fst/vector-fst.h>
  124. #include <fst/verify.h>
  125. #include <fst/visit.h>
  126. #include <fst/weight.h>
  127. #endif // FST_FSTLIB_H_