Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
card_info_comparator.h
Go to the documentation of this file.
1
6
7#ifndef CARD_INFO_COMPARATOR_H
8#define CARD_INFO_COMPARATOR_H
9
10#include "card_info.h"
11
12#include <QVariant>
13#include <Qt>
14
16{
17public:
18 explicit CardInfoComparator(const QStringList &properties, Qt::SortOrder order = Qt::AscendingOrder);
19 bool operator()(const CardInfoPtr &a, const CardInfoPtr &b) const;
20
21private:
22 QStringList m_properties; // List of properties to sort by
23 Qt::SortOrder m_order;
24
25 [[nodiscard]] QVariant getProperty(const CardInfoPtr &card, const QString &property) const;
26 [[nodiscard]] bool compareVariants(const QVariant &a, const QVariant &b) const;
27};
28
29#endif // CARD_INFO_COMPARATOR_H
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:20
Qt::SortOrder m_order
Definition card_info_comparator.h:23
QVariant getProperty(const CardInfoPtr &card, const QString &property) const
Definition card_info_comparator.cpp:58
bool compareVariants(const QVariant &a, const QVariant &b) const
Definition card_info_comparator.cpp:26
CardInfoComparator(const QStringList &properties, Qt::SortOrder order=Qt::AscendingOrder)
Definition card_info_comparator.cpp:3
QStringList m_properties
Definition card_info_comparator.h:22
bool operator()(const CardInfoPtr &a, const CardInfoPtr &b) const
Definition card_info_comparator.cpp:8