KHTML
dom_string.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _DOM_DOMString_h_
00023 #define _DOM_DOMString_h_
00024
00025 #include <khtml_export.h>
00026 #include <kdebug.h>
00027 #include <QtCore/QString>
00028
00029 namespace DOM {
00030
00031 class DOMStringImpl;
00032
00042 class KHTML_EXPORT DOMString
00043 {
00044 friend class CharacterDataImpl;
00045 friend KHTML_EXPORT bool operator==( const DOMString &a, const char *b );
00046 public:
00050 DOMString() : impl(0) {}
00051
00052 DOMString(const QChar *str, uint len);
00053 DOMString(const QString &);
00054 DOMString(const char *str);
00055 DOMString(DOMStringImpl *i);
00056
00057 virtual ~DOMString();
00058
00059
00060 DOMString(const DOMString &str);
00061 DOMString &operator =(const DOMString &str);
00062
00066 DOMString &operator += (const DOMString &str);
00070 DOMString operator + (const DOMString &str);
00071
00072 void insert(DOMString str, uint pos);
00073
00078 const QChar &operator [](unsigned int i) const;
00079
00080 int find(const QChar c, int start = 0) const;
00081
00082 uint length() const;
00083 void truncate( unsigned int len );
00084 void remove(unsigned int pos, int len=1);
00088 DOMString split(unsigned int pos);
00089
00093 DOMString lower() const;
00097 DOMString upper() const;
00098
00099 QChar *unicode() const;
00100
00101 inline QChar *characters() const { return unicode(); }
00102 QString string() const;
00103
00104 int toInt() const;
00105 int toInt(bool* ok) const;
00106 float toFloat(bool* ok = 0) const;
00107 bool percentage(int &_percentage) const;
00108
00109 static DOMString number(float f);
00110
00111 DOMString copy() const;
00112
00113 bool isNull() const { return (impl == 0); }
00114 bool isEmpty() const;
00115
00116 bool endsWith(const DOMString& str) const;
00117
00122 DOMStringImpl *implementation() const { return impl; }
00123
00124 protected:
00125 DOMStringImpl *impl;
00126 };
00127
00128 inline QDebug operator<<(QDebug stream, const DOMString &string) {
00129 return (stream << string.string());
00130 }
00131
00132 KHTML_EXPORT bool operator==( const DOMString &a, const DOMString &b );
00133 KHTML_EXPORT bool operator==( const DOMString &a, const QString &b );
00134 KHTML_EXPORT bool operator==( const DOMString &a, const char *b );
00135 inline bool operator!=( const DOMString &a, const DOMString &b ) { return !(a==b); }
00136 inline bool operator!=( const DOMString &a, const QString &b ) { return !(a==b); }
00137 inline bool operator!=( const DOMString &a, const char *b ) { return !(a==b); }
00138 inline bool strcmp( const DOMString &a, const DOMString &b ) { return a != b; }
00139
00140
00141 KHTML_EXPORT bool strcasecmp( const DOMString &a, const DOMString &b );
00142 KHTML_EXPORT bool strcasecmp( const DOMString& a, const char* b );
00143
00144 }
00145 #endif