summaryrefslogtreecommitdiff
path: root/src/xmlpatterns/type/qcommonsequencetypes_p.h
diff options
context:
space:
mode:
authorQt by Nokia <qt-info@nokia.com>2011-04-27 12:05:43 +0200
committeraxis <qt-info@nokia.com>2011-04-27 12:05:43 +0200
commite1b2c9deb5943faae2b29be6a5c006f75bb73f06 (patch)
treefc79e45367c0a8fc71185e9afc33f7503a58653c /src/xmlpatterns/type/qcommonsequencetypes_p.h
downloadqtxmlpatterns-e1b2c9deb5943faae2b29be6a5c006f75bb73f06.tar.gz
Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12
Diffstat (limited to 'src/xmlpatterns/type/qcommonsequencetypes_p.h')
-rw-r--r--src/xmlpatterns/type/qcommonsequencetypes_p.h414
1 files changed, 414 insertions, 0 deletions
diff --git a/src/xmlpatterns/type/qcommonsequencetypes_p.h b/src/xmlpatterns/type/qcommonsequencetypes_p.h
new file mode 100644
index 0000000..52cfabb
--- /dev/null
+++ b/src/xmlpatterns/type/qcommonsequencetypes_p.h
@@ -0,0 +1,414 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// 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.
+
+#ifndef Patternist_CommonSequenceTypes_H
+#define Patternist_CommonSequenceTypes_H
+
+#include "qemptysequencetype_p.h"
+#include "qnonetype_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Provides access to singleton instances of SequenceType sub-classes.
+ *
+ * @ingroup Patternist_types
+ * @author Frans Englich <frans.englich@nokia.com>
+ */
+ class Q_AUTOTEST_EXPORT CommonSequenceTypes
+ {
+ public:
+ /**
+ * <tt>xs:anyAtomicType?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneAtomicType;
+
+ /**
+ * <tt>xs:anyAtomicType</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneAtomicType;
+
+ /**
+ * <tt>xs:anyAtomicType*</tt>
+ */
+ static const SequenceType::Ptr ZeroOrMoreAtomicTypes;
+
+ /**
+ * <tt>item()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneItem;
+
+ /**
+ * <tt>item()*</tt>
+ */
+ static const SequenceType::Ptr ZeroOrMoreItems;
+
+ /**
+ * <tt>item()?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneItem;
+
+ /**
+ * <tt>item()+</tt>
+ */
+ static const SequenceType::Ptr OneOrMoreItems;
+
+ /**
+ * The empty sequence, <tt>empty-sequence()</tt>.
+ */
+ static const EmptySequenceType::Ptr Empty;
+
+ /**
+ * The special type @c none. Used for the function <tt>fn:error()</tt>, for example.
+ */
+ static const NoneType::Ptr None;
+
+ /**
+ * <tt>xs:anyURI</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneAnyURI;
+
+ /**
+ * <tt>xs:boolean</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneBoolean;
+
+ /**
+ * <tt>xs:boolean?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneBoolean;
+
+ /**
+ * <tt>xs:untypedAtomic</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneUntypedAtomic;
+
+ /**
+ * <tt>xs:integer</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneInteger;
+
+ /**
+ * <tt>xs:integer?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneInteger;
+
+ /**
+ * <tt>xs:decimal?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneDecimal;
+
+ /**
+ * <tt>xs:integer*</tt>
+ */
+ static const SequenceType::Ptr ZeroOrMoreIntegers;
+
+ /**
+ * <tt>xs:double</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDouble;
+
+ /**
+ * <tt>xs:decimal</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDecimal;
+
+ /**
+ * <tt>xs:float</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneFloat;
+
+ /**
+ * <tt>xs:QName</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneQName;
+
+ /**
+ * <tt>xs:string</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneString;
+
+ /**
+ * <tt>xs:string?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneString;
+
+ /**
+ * <tt>xs:string*</tt>
+ */
+ static const SequenceType::Ptr ZeroOrMoreStrings;
+
+ /**
+ * <tt>xs:NCName?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneNCName;
+
+ /**
+ * <tt>xs:NCName</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneNCName;
+
+ /**
+ * <tt>xs:QName?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneQName;
+
+ /**
+ * The artificial type in XPath 2.0 that covers @c xs:double, @c xs:float,
+ * @c xs:decimal, with cardinality zero or one.
+ *
+ * @see <a href="http://www.w3.org/TR/xpath20/#dt-numeric">XML Path Language
+ * (XPath) 2.0, definition for Numeric</a>
+ * @see <a href="http://www.w3.org/TR/xpath-functions/#func-signatures">XQuery 1.0
+ * and XPath 2.0 Functions and Operators, 1.3 Function Signatures and Descriptions</a>
+ * @see BuiltinTypes::numeric
+ */
+ static const SequenceType::Ptr ZeroOrOneNumeric;
+
+ /**
+ * @c numeric
+ */
+ static const SequenceType::Ptr ExactlyOneNumeric;
+
+ /**
+ * <tt>node()?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneNode;
+
+ /**
+ * <tt>node()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneNode;
+
+ /**
+ * <tt>node()*</tt>
+ */
+ static const SequenceType::Ptr ZeroOrMoreNodes;
+
+ /**
+ * <tt>element()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneElement;
+
+ /**
+ * <tt>processing-instruction()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneProcessingInstruction;
+
+ /**
+ * <tt>attribute()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneAttribute;
+
+ /**
+ * <tt>text()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneTextNode;
+
+ /**
+ * <tt>text()?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneTextNode;
+
+ /**
+ * <tt>comment()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneComment;
+
+ /**
+ * <tt>element()*</tt>
+ */
+ static const SequenceType::Ptr ZeroOrMoreElements;
+
+ /**
+ * <tt>document-node()?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneDocumentNode;
+
+ /**
+ * <tt>document-node()</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDocumentNode;
+
+ /**
+ * <tt>document-node()+</tt>
+ */
+ static const SequenceType::Ptr OneOrMoreDocumentNodes;
+
+ /**
+ * Identifiers all values which the Effective %Boolean Value
+ * can be extracted from.
+ */
+ static const SequenceType::Ptr EBV;
+
+ /**
+ * <tt>xs:anyURI?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneAnyURI;
+
+ /**
+ * <tt>xs:hexBinary</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneHexBinary;
+
+ /**
+ * <tt>xs:base64Binary</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneBase64Binary;
+
+ /**
+ * <tt>xs:date</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDate;
+
+ /**
+ * <tt>xs:dateTime</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDateTime;
+
+ /**
+ * <tt>xs:dayTimeDuration</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDayTimeDuration;
+
+ /**
+ * <tt>xs:duration</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneDuration;
+
+ /**
+ * <tt>xs:gDay</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneGDay;
+
+ /**
+ * <tt>xs:gMonth</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneGMonth;
+
+ /**
+ * <tt>xs:gMonthDay</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneGMonthDay;
+
+ /**
+ * <tt>xs:gYear</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneGYear;
+
+ /**
+ * <tt>xs:gYearMonth</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneGYearMonth;
+
+ /**
+ * <tt>xs:yearMonthDuration</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneYearMonthDuration;
+
+ /**
+ * <tt>xs:time</tt>
+ */
+ static const SequenceType::Ptr ExactlyOneTime;
+
+ /**
+ * <tt>xs:time?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneDate;
+
+ /**
+ * <tt>xs:dateTime?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneDateTime;
+
+ /**
+ * <tt>xs:dayTimeDuration?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneDayTimeDuration;
+
+ /**
+ * <tt>xs:duration?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneDuration;
+
+ /**
+ * <tt>xs:time?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneTime;
+
+ /**
+ * <tt>xs:yearMonthDuration?</tt>
+ */
+ static const SequenceType::Ptr ZeroOrOneYearMonthDuration;
+
+ private:
+ /**
+ * The constructor is private and has no implementation,
+ * because this class is not meant to be instantiated.
+ *
+ * It should only be used via its static members.
+ */
+ inline CommonSequenceTypes();
+
+ Q_DISABLE_COPY(CommonSequenceTypes)
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+