Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'DOMStringImpl (./kdelibs/khtml/xml/dom_stringimpl.h:33)
class DOMStringImpl : public DomShared
{
protected:
DOMStringImpl() { s = 0, l = 0; }
public:
DOMStringImpl(QChar *str, uint len);
virtual ~DOMStringImpl() { if(s) delete [] s; }
void append(DOMStringImpl *str);
void insert(DOMStringImpl *str, uint pos);
void truncate(int len);
void remove(uint pos, int len=1);
DOMStringImpl *split(uint pos);
DOMStringImpl *copy() const;
const QChar &operator [] (int pos)
{ return *(s+pos); }
khtml::Length toLength() const;
int toInt() const;
QList<khtml::Length> *toLengthList() const;
uint l;
QChar *s;
};
};
kdelibs'DOMStringImpl::DOMStringImpl() (./kdelibs/khtml/xml/dom_stringimpl.cpp:39)
DOMStringImpl::DOMStringImpl(QChar *str, uint len)
{
s = str, l = len;
}
kdelibs'DOMStringImpl::append() (./kdelibs/khtml/xml/dom_stringimpl.cpp:44)
void DOMStringImpl::append(DOMStringImpl *str)
{
if(str && str->l != 0)
{
int newlen = l+str->l;
QChar *c = QT_ALLOC_QCHAR_VEC(newlen);
memcpy(c, s, l*sizeof(QChar));
memcpy(c+l, str->s, str->l*sizeof(QChar));
if(s) QT_DELETE_QCHAR_VEC(s);
s = c;
l = newlen;
}
}
kdelibs'DOMStringImpl::insert() (./kdelibs/khtml/xml/dom_stringimpl.cpp:58)
void DOMStringImpl::insert(DOMStringImpl *str, uint pos)
{
if(pos > l)
{
append(str);
return;
}
if(str && str->l != 0)
{
int newlen = l+str->l;
QChar *c = QT_ALLOC_QCHAR_VEC(newlen);
memcpy(c, s, pos*sizeof(QChar));
memcpy(c+pos, str->s, str->l*sizeof(QChar));
memcpy(c+pos+str->l, s+pos, (l-pos)*sizeof(QChar));
if(s) QT_DELETE_QCHAR_VEC(s);
s = c;
l = newlen;
}
}
kdelibs'DOMStringImpl::truncate() (./kdelibs/khtml/xml/dom_stringimpl.cpp:78)
void DOMStringImpl::truncate(int len)
{
if(len > (int)l) return;
QChar *c = QT_ALLOC_QCHAR_VEC(len);
memcpy(c, s, len*sizeof(QChar));
if(s) QT_DELETE_QCHAR_VEC(s);
s = c;
l = len;
}
kdelibs'DOMStringImpl::remove() (./kdelibs/khtml/xml/dom_stringimpl.cpp:89)
void DOMStringImpl::remove(uint pos, int len)
{
if(pos >= l ) return;
if(pos+len > l)
len = l - pos;
uint newLen = l-len;
QChar *c = QT_ALLOC_QCHAR_VEC(newLen);
memcpy(c, s, pos*sizeof(QChar));
memcpy(c+pos, s+pos+len, (l-len-pos)*sizeof(QChar));
if(s) QT_DELETE_QCHAR_VEC(s);
s = c;
l = newLen;
}
kdelibs'DOMStringImpl::split() (./kdelibs/khtml/xml/dom_stringimpl.cpp:104)
DOMStringImpl *DOMStringImpl::split(uint pos)
{
if( pos >=l ) return new DOMStringImpl();
uint newLen = l-pos;
QChar *c = QT_ALLOC_QCHAR_VEC(newLen);
memcpy(c, s+pos, newLen*sizeof(QChar));
truncate(pos);
return new DOMStringImpl(c, newLen);
}
kdelibs'DOMStringImpl::copy() (./kdelibs/khtml/xml/dom_stringimpl.cpp:116)
DOMStringImpl *DOMStringImpl::copy() const
{
QChar *c = QT_ALLOC_QCHAR_VEC(l);
memcpy(c, s, l*sizeof(QChar));
return new DOMStringImpl(c, l);
}
kdelibs'DOMStringImpl::toLength() (./kdelibs/khtml/xml/dom_stringimpl.cpp:157)
Length DOMStringImpl::toLength() const
{
return parseLength(s, l);
}
kdelibs'DOMStringImpl::toInt() (./kdelibs/khtml/xml/dom_stringimpl.cpp:162)
int DOMStringImpl::toInt() const
{
return QConstString(s, l).string().toInt();
}
kdelibs'DOMStringImpl::toLengthList() (./kdelibs/khtml/xml/dom_stringimpl.cpp:167)
QList<Length> *DOMStringImpl::toLengthList() const
{
QString str(s, l);
int pos = 0;
int pos2;
str.replace(QRegExp(" "),"");
QList<Length> *list = new QList<Length>;
list->setAutoDelete(true);
while((pos2 = str.find(',', pos)) != -1)
{
Length *l = new Length(parseLength((QChar *) str.unicode()+pos, pos2-pos));
list->append(l);
pos = pos2+1;
}
Length *l = new Length(parseLength((QChar *) str.unicode()+pos, str.length()-pos));
list->append(l);
return list;
}