From 9f2d40bba0a57d4a28f8bb47b5a5dde4e8742444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Tue, 21 Mar 2017 20:34:50 +0100 Subject: Fix forward classes declaration in kpat/dealer.h This resolves FTBFS for cmake build with clang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- kpat/dealer.h | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'kpat/dealer.h') diff --git a/kpat/dealer.h b/kpat/dealer.h index 7dfc5825..0704433b 100644 --- a/kpat/dealer.h +++ b/kpat/dealer.h @@ -3,6 +3,7 @@ #include "pile.h" #include "hint.h" +#include #include class TQDomDocument; @@ -38,7 +39,41 @@ public: virtual Dealer *createGame(TDEMainWindow *parent) = 0; }; -class CardState; +class CardState { +public: + Card *it; + Pile *source; + double x; + double y; + double z; + bool faceup; + bool tookdown; + int source_index; + CardState() {} +public: + // as every card is only once we can sort after the card. + // < is the same as <= in that context. == is different + bool operator<(const CardState &rhs) const { return it < rhs.it; } + bool operator<=(const CardState &rhs) const { return it <= rhs.it; } + bool operator>(const CardState &rhs) const { return it > rhs.it; } + bool operator>=(const CardState &rhs) const { return it > rhs.it; } + bool operator==(const CardState &rhs) const { + return (it == rhs.it && source == rhs.source && x == rhs.x && + y == rhs.y && z == rhs.z && faceup == rhs.faceup + && source_index == rhs.source_index && tookdown == rhs.tookdown); + } + void fillNode(TQDomElement &e) const { + e.setAttribute("value", it->rank()); + e.setAttribute("suit", it->suit()); + e.setAttribute("source", source->index()); + e.setAttribute("x", x); + e.setAttribute("y", y); + e.setAttribute("z", z); + e.setAttribute("faceup", faceup); + e.setAttribute("tookdown", tookdown); + e.setAttribute("source_index", source_index); + } +}; typedef TQValueList CardStateList; -- cgit v1.2.1