Cockatrice
2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Toggle main menu visibility
Loading...
Searching...
No Matches
filter_string.h
Go to the documentation of this file.
1
6
7
#ifndef FILTER_STRING_H
8
#define FILTER_STRING_H
9
10
#include <QLoggingCategory>
11
#include <QString>
12
#include <functional>
13
#include <
libcockatrice/card/card_info.h
>
14
#include <
libcockatrice/card/card_localization.h
>
15
16
struct
CardSearchLanguage
;
17
18
inline
Q_LOGGING_CATEGORY
(FilterStringLog,
"filter_string"
);
19
20
typedef
CardInfoPtr
CardData
;
21
typedef
std::function<bool(
const
CardData
&)>
Filter
;
22
typedef
std::function<bool(
const
QString &)>
StringMatcher
;
23
typedef
std::function<bool(
int
)>
NumberMatcher
;
24
typedef
std::function<bool(
int
,
int
)>
NumberComparer
;
25
26
namespace
peg
27
{
28
template
<
typename
Annotation>
struct
AstBase
;
29
struct
EmptyType
;
30
31
typedef
AstBase<EmptyType>
Ast
;
32
}
// namespace peg
33
34
class
FilterString
35
{
36
public
:
37
FilterString
();
38
explicit
FilterString
(
const
QString &exp,
const
CardSearchLanguage
&searchLanguage = {});
39
[[nodiscard]]
bool
check
(
const
CardData
&card)
const
40
{
41
if
(card.isNull()) {
42
static
CardInfoPtr
blankCard =
CardInfo::newInstance
(
""
);
43
return
result
(blankCard);
44
}
45
return
result
(card);
46
}
47
48
bool
valid
()
49
{
50
return
_error
.isEmpty();
51
}
52
53
QString
error
()
54
{
55
return
_error
;
56
}
57
58
private
:
59
QString
_error
;
60
Filter
result
;
61
};
62
63
#endif
CardInfoPtr
QSharedPointer< CardInfo > CardInfoPtr
Definition
card_info.cpp:15
card_info.h
CardInfo::newInstance
static CardInfoPtr newInstance(const QString &_name)
Creates a new instance with only the card name.
Definition
card_info.cpp:76
FilterString::check
bool check(const CardData &card) const
Definition
filter_string.h:39
FilterString::FilterString
FilterString()
Definition
filter_string.cpp:430
FilterString::_error
QString _error
Definition
filter_string.h:59
FilterString::result
Filter result
Definition
filter_string.h:60
FilterString::error
QString error()
Definition
filter_string.h:53
FilterString::valid
bool valid()
Definition
filter_string.h:48
Q_LOGGING_CATEGORY
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")
NumberMatcher
std::function< bool(int)> NumberMatcher
Definition
filter_string.h:23
StringMatcher
std::function< bool(const QString &)> StringMatcher
Definition
filter_string.h:22
Filter
std::function< bool(const CardData &)> Filter
Definition
filter_string.h:21
NumberComparer
std::function< bool(int, int)> NumberComparer
Definition
filter_string.h:24
CardData
CardInfoPtr CardData
Definition
filter_string.h:20
card_localization.h
peg
Definition
filter_string.h:27
peg::Ast
AstBase< EmptyType > Ast
Definition
filter_string.h:31
CardSearchLanguage
The card language and matching mode searches run against.
Definition
card_localization.h:27
peg::AstBase
Definition
peglib.h:6300
peg::EmptyType
Definition
peglib.h:6440
libcockatrice_filters
libcockatrice
filters
filter_string.h
Generated by
1.18.0