From 41e55025e17b2f8e17294bc8cff7b47e8f6af1f7 Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 1 Jan 2014 11:35:56 +0100 Subject: Generate forward headers. Install them in the proper directory. Let cmake find them. Had to rename conversion_check.h to conversioncheck.h Had to improve the scripts to support multiple libs in one framework :) --- src/core/conversion_check.h | 124 -------------------------------------------- 1 file changed, 124 deletions(-) delete mode 100644 src/core/conversion_check.h (limited to 'src/core/conversion_check.h') diff --git a/src/core/conversion_check.h b/src/core/conversion_check.h deleted file mode 100644 index 55bd8826..00000000 --- a/src/core/conversion_check.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - This file is part of the KDE libraries - Copyright (c) 2006 Thomas Braxton - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef CONVERSION_CHECK_H -#define CONVERSION_CHECK_H - -#include -#include -#include -#include -#include -#include - -class QColor; -class QFont; - -namespace ConversionCheck -{ - -// used to distinguish between supported/unsupported types -struct supported { }; -struct unsupported { }; - -// traits type class to define support for constraints -template -struct QVconvertible { - typedef unsupported toQString; - typedef unsupported toQVariant; -}; - -// constraint classes -template -struct type_toQString { - void constraint() - { - supported x = y; - Q_UNUSED(x); - } - typename QVconvertible::toQString y; -}; - -template -struct type_toQVariant { - void constraint() - { - supported x = y; - Q_UNUSED(x); - } - typename QVconvertible::toQVariant y; -}; - -// check if T is convertible to QString thru QVariant -// if not supported can't be used in QList functions -template -inline void to_QString() -{ - void (type_toQString::*x)() = &type_toQString::constraint; - Q_UNUSED(x); -} - -// check if T is convertible to QVariant & supported in readEntry/writeEntry -template -inline void to_QVariant() -{ - void (type_toQVariant::*x)() = &type_toQVariant::constraint; - Q_UNUSED(x); -} - -// define for all types handled in readEntry/writeEntry -// string_support - is supported by QVariant(type).toString(), -// can be used in QList functions -// variant_support - has a QVariant constructor -#define QVConversions(type, string_support, variant_support) \ - template <> struct QVconvertible {\ - typedef string_support toQString;\ - typedef variant_support toQVariant;\ - } - -// The only types needed here are the types handled in readEntry/writeEntry -// the default QVconvertible will take care of the rest. -QVConversions(bool, supported, supported); -QVConversions(int, supported, supported); -QVConversions(unsigned int, supported, supported); -QVConversions(long long, supported, supported); -QVConversions(unsigned long long, supported, supported); -QVConversions(float, supported, supported); -QVConversions(double, supported, supported); -QVConversions(QString, supported, supported); -QVConversions(QColor, unsupported, supported); -QVConversions(QFont, supported, supported); -QVConversions(QDateTime, unsupported, supported); -QVConversions(QDate, unsupported, supported); -QVConversions(QSize, unsupported, supported); -QVConversions(QRect, unsupported, supported); -QVConversions(QPoint, unsupported, supported); -QVConversions(QSizeF, unsupported, supported); -QVConversions(QRectF, unsupported, supported); -QVConversions(QPointF, unsupported, supported); -QVConversions(QByteArray, supported, supported); -QVConversions(QStringList, unsupported, supported); -QVConversions(QVariantList, unsupported, supported); -QVConversions(QUrl, supported, supported); -QVConversions(QList, unsupported, supported); -} - -#endif - -- cgit v1.2.1