LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
EnhancedAnalysisDictionaryIterator.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
* Copyright (C) 2004-2012 by CEA LIST *
8
* *
9
***************************************************************************/
10
#ifndef LIMA_LINGUISTICPROCESSING_ANALYSISDICTENHANCEDANALYSISDICTIONARYITERATOR_H
11
#define LIMA_LINGUISTICPROCESSING_ANALYSISDICTENHANCEDANALYSISDICTIONARYITERATOR_H
12
13
#include "
AnalysisDictExport.h
"
14
#include "
linguisticProcessing/LinguisticProcessingCommon.h
"
15
#include "
AnalysisDictionaryIterators.h
"
16
#include "
EnhancedAnalysisDictionary.h
"
17
#include "
EnhancedAnalysisDictionaryEntry.h
"
18
#include "
common/misc/AbstractAccessIterators.h
"
19
20
namespace
Lima
21
{
22
23
namespace
LinguisticProcessing
24
{
25
26
namespace
AnalysisDict
27
{
28
32
class
LIMA_ANALYSISDICT_EXPORT
EnhancedAnalysisDictionarySubWordIterator
:
public
AbstractDictionarySubWordIterator
33
{
34
public
:
35
EnhancedAnalysisDictionarySubWordIterator
(
36
const
Common::AccessSubWordIterator
& accessItr,
37
const
EnhancedAnalysisDictionary
& dico);
38
39
virtual
~EnhancedAnalysisDictionarySubWordIterator
();
40
41
virtual
const
std::pair<uint64_t,DictionaryEntry> operator*()
const override
;
42
EnhancedAnalysisDictionarySubWordIterator
& operator++(
int
i)
override
;
43
bool
operator==(
const
AbstractDictionarySubWordIterator
& it)
const override
;
44
bool
operator!=(
const
AbstractDictionarySubWordIterator
& it)
const override
;
45
46
virtual
AbstractDictionarySubWordIterator
* clone()
const override
;
47
48
private
:
49
50
Common::AccessSubWordIterator
m_accessItr;
51
const
EnhancedAnalysisDictionary
& m_dico;
52
53
};
54
55
class
LIMA_ANALYSISDICT_EXPORT
EnhancedAnalysisDictionarySuperWordIterator
:
public
AbstractDictionarySuperWordIterator
56
{
57
public
:
58
59
EnhancedAnalysisDictionarySuperWordIterator
(
60
const
Common::AccessSuperWordIterator
& i);
61
EnhancedAnalysisDictionarySuperWordIterator
(
const
EnhancedAnalysisDictionarySuperWordIterator
& source);
62
virtual
~EnhancedAnalysisDictionarySuperWordIterator
();
63
64
virtual
const
LimaString
operator*()
const override
;
65
EnhancedAnalysisDictionarySuperWordIterator
& operator++(
int
i)
override
;
66
bool
operator==(
const
AbstractDictionarySuperWordIterator
& it)
const override
;
67
bool
operator!=(
const
AbstractDictionarySuperWordIterator
& it)
const override
;
68
69
virtual
AbstractDictionarySuperWordIterator
* clone()
const override
;
70
71
private
:
72
73
Common::AccessSuperWordIterator
m_accessItr;
74
75
};
76
77
inline
EnhancedAnalysisDictionarySubWordIterator
&
EnhancedAnalysisDictionarySubWordIterator::operator++
(
int
)
78
{
79
m_accessItr++;
80
return
*
this
;
81
}
82
83
inline
bool
EnhancedAnalysisDictionarySubWordIterator::operator==
(
const
AbstractDictionarySubWordIterator
& abit)
const
84
{
85
const
EnhancedAnalysisDictionarySubWordIterator
& it=
static_cast<
const
EnhancedAnalysisDictionarySubWordIterator
&
>
(abit);
86
return
m_accessItr==it.m_accessItr;
87
}
88
89
inline
bool
EnhancedAnalysisDictionarySubWordIterator::operator!=
(
const
AbstractDictionarySubWordIterator
& abit)
const
90
{
91
const
EnhancedAnalysisDictionarySubWordIterator
& it=
static_cast<
const
EnhancedAnalysisDictionarySubWordIterator
&
>
(abit);
92
return
m_accessItr!=it.m_accessItr;
93
}
94
95
inline
EnhancedAnalysisDictionarySuperWordIterator
&
EnhancedAnalysisDictionarySuperWordIterator::operator++
(
int
i)
96
{
97
m_accessItr.operator++(i);
98
return
*
this
;
99
}
100
101
inline
bool
EnhancedAnalysisDictionarySuperWordIterator::operator==
(
const
AbstractDictionarySuperWordIterator
& abit)
const
102
{
103
const
EnhancedAnalysisDictionarySuperWordIterator
& it=
static_cast<
const
EnhancedAnalysisDictionarySuperWordIterator
&
>
(abit);
104
return
m_accessItr.operator==(it.m_accessItr);
105
}
106
107
inline
bool
EnhancedAnalysisDictionarySuperWordIterator::operator!=
(
const
AbstractDictionarySuperWordIterator
& abit)
const
108
{
109
const
EnhancedAnalysisDictionarySuperWordIterator
& it=
static_cast<
const
EnhancedAnalysisDictionarySuperWordIterator
&
>
(abit);
110
return
m_accessItr.operator!=(it.m_accessItr);
111
}
112
113
inline
AbstractDictionarySuperWordIterator
*
EnhancedAnalysisDictionarySuperWordIterator::clone
()
const
114
{
115
return
new
EnhancedAnalysisDictionarySuperWordIterator
(*
this
);
116
}
117
118
inline
const
LimaString
EnhancedAnalysisDictionarySuperWordIterator::operator*
()
const
119
{
120
return
*m_accessItr;
121
}
122
123
124
}
125
126
}
127
128
}
129
130
#endif
AbstractAccessIterators.h
AnalysisDictExport.h
LIMA_ANALYSISDICT_EXPORT
#define LIMA_ANALYSISDICT_EXPORT
Definition
AnalysisDictExport.h:27
AnalysisDictionaryIterators.h
EnhancedAnalysisDictionaryEntry.h
EnhancedAnalysisDictionary.h
LinguisticProcessingCommon.h
Lima::Common::AccessSubWordIterator
Definition
AbstractAccessIterators.h:105
Lima::Common::AccessSuperWordIterator
Definition
AbstractAccessIterators.h:144
Lima::LinguisticProcessing::AnalysisDict::AbstractDictionarySubWordIterator
iterator on subwords
Definition
AnalysisDictionaryIterators.h:30
Lima::LinguisticProcessing::AnalysisDict::AbstractDictionarySuperWordIterator
iterator on superwords
Definition
AnalysisDictionaryIterators.h:53
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySubWordIterator
Definition
EnhancedAnalysisDictionaryIterator.h:33
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySubWordIterator::operator==
bool operator==(const AbstractDictionarySubWordIterator &it) const override
Definition
EnhancedAnalysisDictionaryIterator.h:83
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySubWordIterator::operator!=
bool operator!=(const AbstractDictionarySubWordIterator &it) const override
Definition
EnhancedAnalysisDictionaryIterator.h:89
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySubWordIterator::operator++
EnhancedAnalysisDictionarySubWordIterator & operator++(int i) override
Definition
EnhancedAnalysisDictionaryIterator.h:77
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySuperWordIterator
Definition
EnhancedAnalysisDictionaryIterator.h:56
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySuperWordIterator::operator*
virtual const LimaString operator*() const override
return superword
Definition
EnhancedAnalysisDictionaryIterator.h:118
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySuperWordIterator::clone
virtual AbstractDictionarySuperWordIterator * clone() const override
Definition
EnhancedAnalysisDictionaryIterator.h:113
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySuperWordIterator::operator!=
bool operator!=(const AbstractDictionarySuperWordIterator &it) const override
Definition
EnhancedAnalysisDictionaryIterator.h:107
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySuperWordIterator::operator==
bool operator==(const AbstractDictionarySuperWordIterator &it) const override
Definition
EnhancedAnalysisDictionaryIterator.h:101
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionarySuperWordIterator::operator++
EnhancedAnalysisDictionarySuperWordIterator & operator++(int i) override
Definition
EnhancedAnalysisDictionaryIterator.h:95
Lima::LinguisticProcessing::AnalysisDict::EnhancedAnalysisDictionary
Definition
EnhancedAnalysisDictionary.h:28
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
Lima::LimaString
QString LimaString
Definition
LimaString.h:33
lima_linguisticprocessing
src
linguisticProcessing
core
AnalysisDict
EnhancedAnalysisDictionaryIterator.h
Generated by
1.9.8