]> git.saurik.com Git - apple/javascriptcore.git/blame - qt/api/qscriptstring.cpp
JavaScriptCore-621.1.tar.gz
[apple/javascriptcore.git] / qt / api / qscriptstring.cpp
CommitLineData
4e4e5a6f
A
1/*
2 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
18*/
19
20#include "config.h"
21
22#include "qscriptstring.h"
23
24#include "qscriptstring_p.h"
25#include <QtCore/qhash.h>
26
27/*!
28 Constructs an invalid QScriptString.
29*/
30QScriptString::QScriptString()
31 : d_ptr(new QScriptStringPrivate())
32{
33}
34/*!
35 Constructs an QScriptString from internal representation
36 \internal
37*/
38QScriptString::QScriptString(QScriptStringPrivate* d)
39 : d_ptr(d)
40{
41}
42
43/*!
44 Constructs a new QScriptString that is a copy of \a other.
45*/
46QScriptString::QScriptString(const QScriptString& other)
47{
48 d_ptr = other.d_ptr;
49}
50
51/*!
52 Destroys this QScriptString.
53*/
54QScriptString::~QScriptString()
55{
56}
57
58/*!
59 Assigns the \a other value to this QScriptString.
60*/
61QScriptString& QScriptString::operator=(const QScriptString& other)
62{
63 d_ptr = other.d_ptr;
64 return *this;
65}
66
67/*!
68 Returns true if this QScriptString is valid; otherwise
69 returns false.
70*/
71bool QScriptString::isValid() const
72{
73 return d_ptr->isValid();
74}
75
76/*!
77 Returns true if this QScriptString is equal to \a other;
78 otherwise returns false.
79*/
80bool QScriptString::operator==(const QScriptString& other) const
81{
82 return d_ptr == other.d_ptr || *d_ptr == *(other.d_ptr);
83}
84
85/*!
86 Returns true if this QScriptString is not equal to \a other;
87 otherwise returns false.
88*/
89bool QScriptString::operator!=(const QScriptString& other) const
90{
91 return d_ptr != other.d_ptr || *d_ptr != *(other.d_ptr);
92}
93
94/*!
95 Attempts to convert this QScriptString to a QtScript array index,
96 and returns the result.
97
98 If a conversion error occurs, *\a{ok} is set to false; otherwise
99 *\a{ok} is set to true.
100*/
101quint32 QScriptString::toArrayIndex(bool* ok) const
102{
103 return d_ptr->toArrayIndex(ok);
104}
105
106/*!
107 Returns the string that this QScriptString represents, or a
108 null string if this QScriptString is not valid.
109
110 \sa isValid()
111*/
112QString QScriptString::toString() const
113{
114 return d_ptr->toString();
115}
116
117/*!
118 Returns the string that this QScriptString represents, or a
119 null string if this QScriptString is not valid.
120
121 \sa toString()
122*/
123QScriptString::operator QString() const
124{
125 return d_ptr->toString();
126}
127
128uint qHash(const QScriptString& key)
129{
130 return qHash(QScriptStringPrivate::get(key)->id());
131}