src-common/types.h

Sat, 06 Jun 2015 23:06:14 +0300

author
Teemu Piippo <crimsondusk64@gmail.com>
date
Sat, 06 Jun 2015 23:06:14 +0300
changeset 45
f5b526a3423a
parent 44
d0bf58f3560f
permissions
-rw-r--r--

Compilation tweaks

/*
 *  ZCinema: Zandronum demo launcher
 *  Copyright (C) 2013-2015 Teemu Piippo
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once
#include <QString>
#include <QList>
#include <QVariant>

template<class T> using list = QList<T>;
template<class T> using initlist = std::initializer_list<T>;
using std::size_t;

typedef qint8 int8;
typedef qint16 int16;
typedef qint32 int32;
typedef qint64 int64;
typedef quint8 uint8;
typedef quint16 uint16;
typedef quint32 uint32;
typedef quint64 uint64;

struct ZandronumVersion
{
	ZandronumVersion (QString name, bool isRelease, QString binaryPath) :
		name (name),
		binaryPath (binaryPath),
		isRelease (isRelease) {}

	ZandronumVersion() :
		isRelease (false) {}

	QString name;
	QString binaryPath;
	bool isRelease;
};

inline QDataStream& operator<< (QDataStream& out, const ZandronumVersion& version)
{
	return (out << version.name << version.binaryPath << version.isRelease);
}

inline QDataStream& operator>> (QDataStream& in, ZandronumVersion& version)
{
	return (in >> version.name >> version.binaryPath >> version.isRelease);
}

Q_DECLARE_METATYPE (ZandronumVersion)

mercurial