FST
openfst-1.8.4
OpenFst Library
Main Page
Namespaces
Classes
Files
File List
File Members
src
fst
openfst-1.8.4
src
include
fst
script
arc-class.h
Go to the documentation of this file.
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
#ifndef FST_SCRIPT_ARC_CLASS_H_
19
#define FST_SCRIPT_ARC_CLASS_H_
20
21
#include <cstdint>
22
23
#include <
fst/script/weight-class.h
>
24
25
namespace
fst
{
26
namespace
script {
27
28
// A struct representing an arc while ignoring arc type. It is passed as an
29
// argument to AddArc.
30
31
struct
ArcClass
{
32
template
<
class
Arc>
33
explicit
ArcClass
(
const
Arc &arc)
34
:
ilabel
(arc.
ilabel
),
35
olabel
(arc.
olabel
),
36
weight
(arc.
weight
),
37
nextstate
(arc.
nextstate
) {}
38
39
ArcClass
(int64_t
ilabel
, int64_t
olabel
,
const
WeightClass
&
weight
,
40
int64_t
nextstate
)
41
: ilabel(ilabel), olabel(olabel), weight(weight), nextstate(nextstate) {}
42
43
template
<
class
Arc>
44
Arc
GetArc
()
const
{
45
return
Arc(
ilabel
,
olabel
, *(
weight
.
GetWeight
<
typename
Arc::Weight>()),
46
nextstate
);
47
}
48
49
int64_t
ilabel
;
50
int64_t
olabel
;
51
WeightClass
weight
;
52
int64_t
nextstate
;
53
};
54
55
}
// namespace script
56
}
// namespace fst
57
58
#endif // FST_SCRIPT_ARC_CLASS_H_
weight-class.h
fst
Definition:
compact16_acceptor-fst.cc:24
fst::script::ArcClass
Definition:
arc-class.h:31
fst::script::ArcClass::ilabel
int64_t ilabel
Definition:
arc-class.h:49
fst::script::ArcClass::nextstate
int64_t nextstate
Definition:
arc-class.h:52
fst::script::ArcClass::olabel
int64_t olabel
Definition:
arc-class.h:50
fst::script::WeightClass::GetWeight
const W * GetWeight() const
Definition:
weight-class.h:147
fst::script::ArcClass::ArcClass
ArcClass(const Arc &arc)
Definition:
arc-class.h:33
fst::script::ArcClass::GetArc
Arc GetArc() const
Definition:
arc-class.h:44
fst::script::ArcClass::ArcClass
ArcClass(int64_t ilabel, int64_t olabel, const WeightClass &weight, int64_t nextstate)
Definition:
arc-class.h:39
fst::script::WeightClass
Definition:
weight-class.h:114
fst::script::ArcClass::weight
WeightClass weight
Definition:
arc-class.h:51
Generated by
1.8.11