digiKam
Loading...
Searching...
No Matches
parseresults.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-09-14
7 * Description : a parse results map for token management
8 *
9 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QPair>
20#include <QString>
21#include <QMultiMap>
22
23namespace Digikam
24{
25
27{
28public:
29
30 typedef QPair<int, int> ResultsKey;
31 typedef QPair<QString, QString> ResultsValue;
32 typedef QMultiMap<ResultsKey, ResultsValue> ResultsMap;
33
34public:
35
36 ParseResults() = default;
37 ~ParseResults() = default;
38
39 void addEntry(const ResultsKey& key, const ResultsValue& value);
40 void deleteEntry(const ResultsKey& key);
41
42 QList<ResultsKey> keys() const;
43 QList<ResultsValue> values() const;
44
45 bool hasKey(const ResultsKey& key);
46
47 QString result(const ResultsKey& key) const;
48 QString token(const ResultsKey& key) const;
49
50 int offset(const ResultsKey& key) const;
51
52 ResultsKey keyAtPosition(int pos) const;
53 bool hasKeyAtPosition(int pos) const;
54
56 bool hasKeyAtApproximatePosition(int pos) const;
57
58 bool isEmpty() const;
59
60 void append(const ParseResults &results);
61 void clear();
62
63 QString replaceTokens(const QString& markedString) const;
64
65 QString resultValuesAsString() const;
66
67 void debug() const;
68
69private:
70
71 ResultsKey createInvalidKey() const;
72 bool keyIsValid(const ResultsKey& key) const;
73
74private:
75
76 ResultsMap m_results;
77};
78
79} // namespace Digikam
Definition parseresults.h:27
QString token(const ResultsKey &key) const
Definition parseresults.cpp:66
int offset(const ResultsKey &key) const
Definition parseresults.cpp:78
void debug() const
Definition parseresults.cpp:206
bool hasKeyAtPosition(int pos) const
Definition parseresults.cpp:113
QString result(const ResultsKey &key) const
Definition parseresults.cpp:54
void append(const ParseResults &results)
Definition parseresults.cpp:150
QPair< int, int > ResultsKey
Definition parseresults.h:30
QPair< QString, QString > ResultsValue
Definition parseresults.h:31
bool isEmpty() const
Definition parseresults.cpp:155
void addEntry(const ResultsKey &key, const ResultsValue &value)
Definition parseresults.cpp:29
void clear()
Definition parseresults.cpp:145
bool hasKeyAtApproximatePosition(int pos) const
Definition parseresults.cpp:138
void deleteEntry(const ResultsKey &key)
Definition parseresults.cpp:34
ResultsKey keyAtPosition(int pos) const
Definition parseresults.cpp:97
QList< ResultsValue > values() const
Definition parseresults.cpp:49
bool hasKey(const ResultsKey &key)
Definition parseresults.cpp:44
QList< ResultsKey > keys() const
Definition parseresults.cpp:39
QString resultValuesAsString() const
Definition parseresults.cpp:193
QMultiMap< ResultsKey, ResultsValue > ResultsMap
Definition parseresults.h:32
ResultsKey keyAtApproximatePosition(int pos) const
Definition parseresults.cpp:120
QString replaceTokens(const QString &markedString) const
Definition parseresults.cpp:170
qulonglong value
Definition itemviewutilities.cpp:585
Definition datefolderview.cpp:34