src/script/api/qscriptstring.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- a/src/script/api/qscriptstring.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/src/script/api/qscriptstring.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -6,35 +6,17 @@
 **
 ** This file is part of the QtScript 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
 ** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
 **
 ****************************************************************************/
@@ -68,6 +50,10 @@
 
   Call the toString() function to obtain the string that a
   QScriptString represents.
+
+  Call the toArrayIndex() function to convert a QScriptString to an
+  array index. This is useful when using QScriptClass to implement
+  array-like objects.
 */
 
 /*!
@@ -164,6 +150,31 @@
 }
 
 /*!
+  \since 4.6
+
+  Attempts to convert this QScriptString to a QtScript array index,
+  and returns the result.
+
+  If a conversion error occurs, *\a{ok} is set to false; otherwise
+  *\a{ok} is set to true.
+*/
+quint32 QScriptString::toArrayIndex(bool *ok) const
+{
+    Q_D(const QScriptString);
+    if (!d) {
+        if (ok)
+            *ok = false;
+        return -1;
+    }
+    bool tmp;
+    bool *okok = ok ? ok : &tmp;
+    quint32 result = d->identifier.toArrayIndex(okok);
+    if (!*okok)
+        result = -1;
+    return result;
+}
+
+/*!
   Returns the string that this QScriptString represents, or a
   null string if this QScriptString is not valid.