LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
AbstractLexiconIdGenerator.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) 20036 by CEA *
8
* author Olivier MESNARD olivier.mesnard@cea.fr *
9
* *
10
* abstractLexiconIdAccessor.h - description *
11
* AbstractLexiconIdAccessor = interface class *
12
* find implementations in LexiconIdAccessor, defaultIdAccessor *
13
***************************************************************************/
14
#ifndef FSA_ABSTRACT_LEXICON_ID_GENERATOR_H
15
#define FSA_ABSTRACT_LEXICON_ID_GENERATOR_H
16
17
#include "
common/LimaCommon.h
"
18
19
#include "
AbstractLexiconIdAccessor.h
"
20
21
namespace
Lima
{
22
namespace
Common {
23
24
// abstract functor class usefull to inform client of AbstractLexiconIdGenerator
25
// of links created by getId(const std::vector<uint64_t>& structure )
26
class
LIMA_FSAACCESS_EXPORT
AbstractLexiconIdGeneratorInformer
{
27
public
:
28
virtual
~AbstractLexiconIdGeneratorInformer
() {}
29
virtual
int
operator() (
30
uint64_t cmp1, uint64_t cmp2, uint16_t type, uint64_t newId);
31
static
AbstractLexiconIdGeneratorInformer
* getInstance();
32
static
int16_t
LINK_TYPE_DEP
;
33
static
int16_t
LINK_TYPE_EXT
;
34
35
protected
:
36
AbstractLexiconIdGeneratorInformer
() {};
37
static
AbstractLexiconIdGeneratorInformer
*
theInformer
;
38
};
39
40
class
LIMA_FSAACCESS_EXPORT
AbstractLexiconIdGenerator
:
public
AbstractLexiconIdAccessor
41
{
42
public
:
43
AbstractLexiconIdGenerator
(
AbstractLexiconIdGeneratorInformer
* informer) {
44
m_informer = informer;
45
}
46
virtual
~AbstractLexiconIdGenerator
() {}
47
48
// implementation of operation inherited from interface IndexElementIdGenerator
49
// rely on abstract operation implemented by concrete IdGenerator (fromMap or from fromFsaAccess)
50
virtual
uint64_t
getId
(
const
LimaString
& word)
override
= 0;
51
virtual
uint64_t
getId
(
const
std::vector<uint64_t>& structure)
override
= 0;
52
protected
:
53
AbstractLexiconIdGeneratorInformer
*
m_informer
;
54
};
55
56
}
// namespace Common
57
}
// namespace Lima
58
59
#endif
//FSA_ABSTRACT_LEXICON_ID_GENERATOR_H
AbstractLexiconIdAccessor.h
LimaCommon.h
LIMA_FSAACCESS_EXPORT
#define LIMA_FSAACCESS_EXPORT
Definition
LimaCommon.h:130
Lima::Common::AbstractLexiconIdAccessor
Definition
AbstractLexiconIdAccessor.h:24
Lima::Common::AbstractLexiconIdGeneratorInformer
Definition
AbstractLexiconIdGenerator.h:26
Lima::Common::AbstractLexiconIdGeneratorInformer::LINK_TYPE_DEP
static int16_t LINK_TYPE_DEP
Definition
AbstractLexiconIdGenerator.h:32
Lima::Common::AbstractLexiconIdGeneratorInformer::~AbstractLexiconIdGeneratorInformer
virtual ~AbstractLexiconIdGeneratorInformer()
Definition
AbstractLexiconIdGenerator.h:28
Lima::Common::AbstractLexiconIdGeneratorInformer::AbstractLexiconIdGeneratorInformer
AbstractLexiconIdGeneratorInformer()
Definition
AbstractLexiconIdGenerator.h:36
Lima::Common::AbstractLexiconIdGeneratorInformer::LINK_TYPE_EXT
static int16_t LINK_TYPE_EXT
Definition
AbstractLexiconIdGenerator.h:33
Lima::Common::AbstractLexiconIdGeneratorInformer::theInformer
static AbstractLexiconIdGeneratorInformer * theInformer
Definition
AbstractLexiconIdGenerator.h:37
Lima::Common::AbstractLexiconIdGenerator
Definition
AbstractLexiconIdGenerator.h:41
Lima::Common::AbstractLexiconIdGenerator::m_informer
AbstractLexiconIdGeneratorInformer * m_informer
Definition
AbstractLexiconIdGenerator.h:53
Lima::Common::AbstractLexiconIdGenerator::getId
virtual uint64_t getId(const std::vector< uint64_t > &structure) override=0
Lima::Common::AbstractLexiconIdGenerator::getId
virtual uint64_t getId(const LimaString &word) override=0
Lima::Common::AbstractLexiconIdGenerator::AbstractLexiconIdGenerator
AbstractLexiconIdGenerator(AbstractLexiconIdGeneratorInformer *informer)
Definition
AbstractLexiconIdGenerator.h:43
Lima::Common::AbstractLexiconIdGenerator::~AbstractLexiconIdGenerator
virtual ~AbstractLexiconIdGenerator()
Definition
AbstractLexiconIdGenerator.h:46
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
Lima::LimaString
QString LimaString
Definition
LimaString.h:33
lima_common
src
common
FsaAccess
AbstractLexiconIdGenerator.h
Generated by
1.9.8