Started to make things work: show the board.
[tagua.git] / src / common.h
blobf25e0a49979e1b24263df64f634c6ef369a97e8b
1 /*
2 Copyright (c) 2006 Paolo Capriotti <p.capriotti@sns.it>
3 (c) 2006 Maurizio Monge <maurizio.monge@kdemail.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 */
11 #ifndef COMMON_H
12 #define COMMON_H
14 #include <iosfwd>
15 class QString;
17 enum ErrorCode {
18 InvalidMove
21 struct null_deleter {
22 void operator()(void const *) const { }
25 //class ChessPiece;
27 template <typename T> class Grid;
28 template <typename T> class PointerGrid;
29 //typedef PointerGrid<ChessPiece> PieceGrid;
31 #define FORALL(i, collection, type) \
32 for (type::iterator i = (collection).begin(); i != (collection).end(); ++i)
35 std::ostream &operator <<(std::ostream &os, const QString& s);
37 inline const char* wrap_cptr(const char* ptr) {
38 return ptr ? ptr : "[NULL]";
41 QString qPrintf(const char* fmt, ...);
43 QString prettyTypeName(const char* name);
45 inline void TRAP() {
46 #if defined(Q_CC_GNU)
47 __asm__ __volatile__("int $3\n\t");
48 #endif
51 #ifndef M_PI
52 #define M_PI 3.14159
53 #endif
55 #endif // COMMON_H