aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/ftw/qfieldlist_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/ftw/qfieldlist_p.h')
-rw-r--r--src/declarative/qml/ftw/qfieldlist_p.h426
1 files changed, 0 insertions, 426 deletions
diff --git a/src/declarative/qml/ftw/qfieldlist_p.h b/src/declarative/qml/ftw/qfieldlist_p.h
deleted file mode 100644
index 4253779e78..0000000000
--- a/src/declarative/qml/ftw/qfieldlist_p.h
+++ /dev/null
@@ -1,426 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QFIELDLIST_P_H
-#define QFIELDLIST_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-#include <private/qflagpointer_p.h>
-
-// QForwardFieldList is a super simple linked list that can only prepend
-template<class N, N *N::*nextMember>
-class QForwardFieldList
-{
-public:
- inline QForwardFieldList();
- inline N *first() const;
- inline N *takeFirst();
-
- inline void prepend(N *);
-
- inline bool isEmpty() const;
- inline bool isOne() const;
- inline bool isMany() const;
-
- static inline N *next(N *v);
-
- inline bool flag() const;
- inline void setFlag();
- inline void clearFlag();
- inline void setFlagValue(bool);
-
- inline bool flag2() const;
- inline void setFlag2();
- inline void clearFlag2();
- inline void setFlag2Value(bool);
-private:
- QFlagPointer<N> _first;
-};
-
-// QFieldList is a simple linked list, that can append and prepend and also
-// maintains a count
-template<class N, N *N::*nextMember>
-class QFieldList
-{
-public:
- inline QFieldList();
- inline N *first() const;
- inline N *takeFirst();
-
- inline void append(N *);
- inline void prepend(N *);
-
- inline bool isEmpty() const;
- inline bool isOne() const;
- inline bool isMany() const;
- inline int count() const;
-
- inline void append(QFieldList<N, nextMember> &);
- inline void prepend(QFieldList<N, nextMember> &);
- inline void insertAfter(N *, QFieldList<N, nextMember> &);
-
- inline void copyAndClear(QFieldList<N, nextMember> &);
- inline void copyAndClearAppend(QForwardFieldList<N, nextMember> &);
- inline void copyAndClearPrepend(QForwardFieldList<N, nextMember> &);
-
- static inline N *next(N *v);
-
- inline bool flag() const;
- inline void setFlag();
- inline void clearFlag();
- inline void setFlagValue(bool);
-private:
- N *_first;
- N *_last;
- quint32 _flag:1;
- quint32 _count:31;
-};
-
-template<class N, N *N::*nextMember>
-QForwardFieldList<N, nextMember>::QForwardFieldList()
-{
-}
-
-template<class N, N *N::*nextMember>
-N *QForwardFieldList<N, nextMember>::first() const
-{
- return *_first;
-}
-
-template<class N, N *N::*nextMember>
-N *QForwardFieldList<N, nextMember>::takeFirst()
-{
- N *value = *_first;
- if (value) {
- _first = next(value);
- value->*nextMember = 0;
- }
- return value;
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::prepend(N *v)
-{
- Q_ASSERT(v->*nextMember == 0);
- v->*nextMember = *_first;
- _first = v;
-}
-
-template<class N, N *N::*nextMember>
-bool QForwardFieldList<N, nextMember>::isEmpty() const
-{
- return _first.isNull();
-}
-
-template<class N, N *N::*nextMember>
-bool QForwardFieldList<N, nextMember>::isOne() const
-{
- return *_first && _first->*nextMember == 0;
-}
-
-template<class N, N *N::*nextMember>
-bool QForwardFieldList<N, nextMember>::isMany() const
-{
- return *_first && _first->*nextMember != 0;
-}
-
-template<class N, N *N::*nextMember>
-N *QForwardFieldList<N, nextMember>::next(N *v)
-{
- Q_ASSERT(v);
- return v->*nextMember;
-}
-
-template<class N, N *N::*nextMember>
-bool QForwardFieldList<N, nextMember>::flag() const
-{
- return _first.flag();
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::setFlag()
-{
- _first.setFlag();
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::clearFlag()
-{
- _first.clearFlag();
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::setFlagValue(bool v)
-{
- _first.setFlagValue(v);
-}
-
-template<class N, N *N::*nextMember>
-bool QForwardFieldList<N, nextMember>::flag2() const
-{
- return _first.flag2();
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::setFlag2()
-{
- _first.setFlag2();
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::clearFlag2()
-{
- _first.clearFlag2();
-}
-
-template<class N, N *N::*nextMember>
-void QForwardFieldList<N, nextMember>::setFlag2Value(bool v)
-{
- _first.setFlag2Value(v);
-}
-
-template<class N, N *N::*nextMember>
-QFieldList<N, nextMember>::QFieldList()
-: _first(0), _last(0), _flag(0), _count(0)
-{
-}
-
-template<class N, N *N::*nextMember>
-N *QFieldList<N, nextMember>::first() const
-{
- return _first;
-}
-
-template<class N, N *N::*nextMember>
-N *QFieldList<N, nextMember>::takeFirst()
-{
- N *value = _first;
- if (value) {
- _first = next(value);
- if (_last == value) {
- Q_ASSERT(_first == 0);
- _last = 0;
- }
- value->*nextMember = 0;
- --_count;
- }
- return value;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::append(N *v)
-{
- Q_ASSERT(v->*nextMember == 0);
- if (isEmpty()) {
- _first = v;
- _last = v;
- } else {
- _last->*nextMember = v;
- _last = v;
- }
- ++_count;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::prepend(N *v)
-{
- Q_ASSERT(v->*nextMember == 0);
- if (isEmpty()) {
- _first = v;
- _last = v;
- } else {
- v->*nextMember = _first;
- _first = v;
- }
- ++_count;
-}
-
-template<class N, N *N::*nextMember>
-bool QFieldList<N, nextMember>::isEmpty() const
-{
- return _count == 0;
-}
-
-template<class N, N *N::*nextMember>
-bool QFieldList<N, nextMember>::isOne() const
-{
- return _count == 1;
-}
-
-template<class N, N *N::*nextMember>
-bool QFieldList<N, nextMember>::isMany() const
-{
- return _count > 1;
-}
-
-template<class N, N *N::*nextMember>
-int QFieldList<N, nextMember>::count() const
-{
- return _count;
-}
-
-template<class N, N *N::*nextMember>
-N *QFieldList<N, nextMember>::next(N *v)
-{
- Q_ASSERT(v);
- return v->*nextMember;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::append(QFieldList<N, nextMember> &o)
-{
- if (!o.isEmpty()) {
- if (isEmpty()) {
- _first = o._first;
- _last = o._last;
- _count = o._count;
- } else {
- _last->*nextMember = o._first;
- _last = o._last;
- _count += o._count;
- }
- o._first = o._last = 0; o._count = 0;
- }
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::prepend(QFieldList<N, nextMember> &o)
-{
- if (!o.isEmpty()) {
- if (isEmpty()) {
- _first = o._first;
- _last = o._last;
- _count = o._count;
- } else {
- o._last->*nextMember = _first;
- _first = o._first;
- _count += o._count;
- }
- o._first = o._last = 0; o._count = 0;
- }
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::insertAfter(N *after, QFieldList<N, nextMember> &o)
-{
- if (after == 0) {
- prepend(o);
- } else if (after == _last) {
- append(o);
- } else if (!o.isEmpty()) {
- if (isEmpty()) {
- _first = o._first;
- _last = o._last;
- _count = o._count;
- } else {
- o._last->*nextMember = after->*nextMember;
- after->*nextMember = o._first;
- _count += o._count;
- }
- o._first = o._last = 0; o._count = 0;
- }
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::copyAndClear(QFieldList<N, nextMember> &o)
-{
- _first = o._first;
- _last = o._last;
- _count = o._count;
- o._first = o._last = 0;
- o._count = 0;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::copyAndClearAppend(QForwardFieldList<N, nextMember> &o)
-{
- _first = 0;
- _last = 0;
- _count = 0;
- while (N *n = o.takeFirst()) append(n);
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::copyAndClearPrepend(QForwardFieldList<N, nextMember> &o)
-{
- _first = 0;
- _last = 0;
- _count = 0;
- while (N *n = o.takeFirst()) prepend(n);
-}
-
-template<class N, N *N::*nextMember>
-bool QFieldList<N, nextMember>::flag() const
-{
- return _flag;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::setFlag()
-{
- _flag = true;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::clearFlag()
-{
- _flag = false;
-}
-
-template<class N, N *N::*nextMember>
-void QFieldList<N, nextMember>::setFlagValue(bool v)
-{
- _flag = v;
-}
-
-#endif // QFIELDLIST_P_H