LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
defaultIdGenerator.cpp
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 defaultIdGenerator.cpp
9 * @author Besancon Romaric (romaric.besancon@cea.fr)
10 * @date Tue Feb 7 2006
11 * copyright Copyright (C) 2006-2012 by CEA LIST
12 *
13 ***********************************************************************/
14
15#include "defaultIdGenerator.h"
16
17namespace Lima {
18namespace Common {
19namespace BagOfWords {
20
22{
23 friend class DefaultIdGenerator;
24 DefaultIdGeneratorPrivate(const uint64_t lastId);
26
27 uint64_t m_lastId;
28 uint64_t m_simpleTermCount;
29 uint64_t m_compoundTermCount;
30};
31
32DefaultIdGeneratorPrivate::DefaultIdGeneratorPrivate(const uint64_t lastId) :
33 m_lastId(lastId),
34 m_simpleTermCount(0),
35 m_compoundTermCount(0)
36{
37}
38
39DefaultIdGeneratorPrivate::~DefaultIdGeneratorPrivate()
40{
41}
42
44 const uint64_t lastId) :
46 m_d(new DefaultIdGeneratorPrivate(lastId))
47{
48}
49
54
55uint64_t DefaultIdGenerator::getId(const LimaString& /*unused word*/)
56{
57 const_cast<DefaultIdGenerator*>(this)->m_d->m_simpleTermCount++;
58 return const_cast<DefaultIdGenerator*>(this)->m_d->m_lastId++;
59}
60
61uint64_t DefaultIdGenerator::getId( const std::vector<uint64_t>& /*unused structure*/ )
62{
63 const_cast<DefaultIdGenerator*>(this)->m_d->m_compoundTermCount++;
64 return const_cast<DefaultIdGenerator*>(this)->m_d->m_lastId++;
65}
66
68{
69 return m_d->m_simpleTermCount + m_d->m_compoundTermCount;
70}
71
73{
74 return m_d->m_simpleTermCount;
75}
76
77} // end namespace
78} // end namespace
79} // end namespace
#define LIMA_BOW_EXPORT
DefaultIdGenerator(AbstractLexiconIdGeneratorInformer *informer, const uint64_t lastId=1)
uint64_t getId(const LimaString &) override
NAUTITIA.
QString LimaString
Definition LimaString.h:33