X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fcore%2Fqxttypelist.h;fp=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fcore%2Fqxttypelist.h;h=0000000000000000000000000000000000000000;hp=126ef07044c76548ed00a726ca128e8d4ac7baa6;hb=140d8a132103d2fa9baf55036e09b165624de167;hpb=97d674034551438238c568e8b42efb08e1ba7354 diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxttypelist.h b/src/contrib/libqxt-2007-10-24/src/core/qxttypelist.h deleted file mode 100644 index 126ef070..00000000 --- a/src/contrib/libqxt-2007-10-24/src/core/qxttypelist.h +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) Qxt Foundation. Some rights reserved. -** -** This file is part of the QxtCore module of the Qt eXTension library -** -** This library is free software; you can redistribute it and/or modify it -** under the terms of th Common Public License, version 1.0, as published by -** IBM. -** -** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY -** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR -** FITNESS FOR A PARTICULAR PURPOSE. -** -** You should have received a copy of the CPL along with this file. -** See the LICENSE file and the cpl1.0.txt file included with the source -** distribution for more information. If you did not receive a copy of the -** license, contact the Qxt Foundation. -** -** -** -****************************************************************************/ -#ifndef QXTTYPELIST_H -#define QXTTYPELIST_H -#include - -namespace QxtType -{ -struct NoExtend -{ - typedef QxtNull head; - enum { length = 0, extends = false }; -}; - -template -struct QxtTypeList; - -template -struct QxtTypeList -{ - typedef T1 head; - typedef QxtTypeList tail; - typedef EXTEND extend; - enum { length = tail::length + 1, extends = EXTEND::extends }; -}; - -template -struct QxtTypeList -{ - typedef typename EXTEND::head head; - typedef typename EXTEND::tail tail; - typedef EXTEND extend; - enum { length = EXTEND::length, extends = EXTEND::extends }; -}; - -template<> -struct QxtTypeList -{ - typedef QxtNull extend; - enum { length = 0, extends = false }; -}; -} - -#ifndef QXT_NO_USING -using QxtType::QxtTypeList; -#endif - -#ifndef QXT_NO_MACROS -/*! \relates QxtTypeList - * Declares a one-column tuple. - */ -#define Qxt1TypeList(a) QxtTypeList - -/*! \relates QxtTypeList - * Declares a two-column tuple, similar to QPair. - */ -#define Qxt2TypeList(a, b) QxtTypeList - -/*! \relates QxtTypeList - * Declares a three-column tuple, similar to QxtTriple. - */ -#define Qxt3TypeList(a, b, c) QxtTypeList - -/*! \relates QxtTypeList - * Declares a four-column tuple. - */ -#define Qxt4TypeList(a, b, c, d) QxtTypeList - -/*! \relates QxtTypeList - * Declares a five-column tuple. - */ -#define Qxt5TypeList(a, b, c, d, e) QxtTypeList - -/*! \relates QxtTypeList - * Declares a six-column tuple. - */ -#define Qxt6TypeList(a, b, c, d, e, f) QxtTypeList - -/*! \relates QxtTypeList - * Declares a seven-column tuple. - */ -#define Qxt7TypeList(a, b, c, d, e, f, g) QxtTypeList - -/*! \relates QxtTypeList - * Declares an eight-column tuple. - */ -#define Qxt8TypeList(a, b, c, d, e, f, g, h) QxtTypeList - -/*! \relates QxtTypeList - * Declares a nine-column tuple. - */ -#define Qxt9TypeList(a, b, c, d, e, f, g, h, i) QxtTypeList - -/*! \relates QxtTypeList - * Declares an extended tuple with ten or more columns. Pay special attention to the syntax of the tenth parameter, which - * must be a QxtTypeList, not a storage type. -\code -QxtLongTypeList(int, int, int, int, int, int, int, int, int, Qxt1TypeList(int)) tuple; // correct way to implement a 10-tuple -QxtLongTypeList(int, int, int, int, int, int, int, int, int, int) tuple; // this will produce a (very long) compile-time error -\endcode - */ -#define QxtLongTypeList(a, b, c, d, e, f, g, h, i, extend) QxtTypeList -#endif - -#endif