LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
andTransition.h
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6/************************************************************************
7 *
8 * @file andTransition.h
9 * @author besancon (besanconr@zoe.cea.fr)
10 * @date Fri Sept 12 2003
11 * copyright Copyright (C) 2004 by CEA LIST
12 * Project Automaton
13 *
14 * @brief representation of AND transitions : the transitions are
15 * a combination of other transitions
16 *
17 *
18 ***********************************************************************/
19
20#ifndef ANDTRANSITION_H
21#define ANDTRANSITION_H
22
23#include "AutomatonExport.h"
24#include "transitionUnit.h"
25#include "automatonCommon.h"
27
28namespace Lima {
29namespace LinguisticProcessing {
30namespace Automaton {
31
33{
34 public:
36
45 AndTransition(const std::vector<TransitionUnit*>&, bool keep=true);
46 AndTransition(const Tpos&, bool keep=true);
48 virtual ~AndTransition();
49 AndTransition& operator = (const AndTransition&);
50
51 AndTransition* clone() const override;
52 AndTransition* create() const override;
53
54 std::string printValue() const override;
55 bool operator== (const TransitionUnit&) const override;
56
57 std::vector<TransitionUnit*>& getTransitions();
58
59 bool compare(const LinguisticAnalysisStructure::AnalysisGraph& graph,
60 const LinguisticGraphVertex& vertex,
61 AnalysisContent& analysis,
63 const LinguisticAnalysisStructure::MorphoSyntacticData* data) const override;
64
65 TypeTransition type() const override;
66
67 const std::vector<TransitionUnit*>& getTransitions() const
68 { return m_transitions; }
69
70 private:
71 std::vector<TransitionUnit*> m_transitions;
72
73 // helper functions for destructor/copy constructor/assignement operator
74 void clean();
75 void copy(const AndTransition& t);
76
77};
78
79/***********************************************************************/
80// inline access functions
81/***********************************************************************/
82inline TypeTransition AndTransition::type() const { return T_AND; }
83inline std::vector<TransitionUnit*>& AndTransition::getTransitions() {
84 return m_transitions;
85}
86
88 return new AndTransition(*this); }
90 return new AndTransition(); }
91
92} // namespace end
93} // namespace end
94} // namespace end
95
96#endif
#define LIMA_AUTOMATON_EXPORT
LinguisticGraph::vertex_descriptor LinguisticGraphVertex
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
const std::vector< TransitionUnit * > & getTransitions() const
std::vector< TransitionUnit * > & getTransitions()
An AnalysisData containing a LinguisticGraph with a language and an id.
NAUTITIA.