本文整理汇总了C++中DOMString::size方法的典型用法代码示例。如果您正苦于以下问题:C++ DOMString::size方法的具体用法?C++ DOMString::size怎么用?C++ DOMString::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DOMString
的用法示例。
在下文中一共展示了DOMString::size方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNativePath
DOMString URI::getNativePath() const
{
DOMString pathStr = toStr(path);
DOMString npath;
#ifdef __WIN32__
unsigned int firstChar = 0;
if (pathStr.size() >= 3)
{
if (pathStr[0] == '/' &&
uni_is_letter(pathStr[1]) &&
pathStr[2] == ':')
firstChar++;
}
for (unsigned int i=firstChar ; i<pathStr.size() ; i++)
{
XMLCh ch = (XMLCh) pathStr[i];
if (ch == '/')
npath.push_back((XMLCh)'\\');
else
npath.push_back(ch);
}
#else
npath = pathStr;
#endif
return npath;
}
示例2: parse
bool URI::parse(const DOMString &str)
{
parselen = str.size();
parsebuf = new int[str.size()];
if (!parsebuf)
{
error("parse : could not allocate parsebuf");
return false;
}
DOMString::const_iterator iter;
unsigned int i=0;
for (iter= str.begin() ; iter!=str.end() ; ++iter)
{
int ch = *iter;
if (ch == '\\')
parsebuf[i++] = '/';
else
parsebuf[i++] = ch;
}
int p = parse(0);
normalize();
delete[] parsebuf;
if (p < 0)
{
error("Syntax error");
return false;
}
//printf("uri:%s\n", toString().c_str());
//printf("parse:%s\n", toStr(path).c_str());
return true;
}
示例3: compare
int DOMString::compare(const DOMString &str) const
{
int asize = chars.size();
int bsize = str.size();
int diff = 0;
int index = 0;
while (index < asize && index < bsize)
{
int a = (int) chars[index];
int b = (int) str[index];
diff = a - b;
if (diff)
return diff;
index++;
}
//equal for their common length. lets see which is longer
diff = asize - bsize;
return diff;
}
示例4: parseHierarchicalPart
int URI::parseHierarchicalPart(int p0)
{
int p = p0;
int ch;
//# Authority field (host and port, for example)
int p2 = match(p, "//");
if (p2 > p)
{
p = p2;
portSpecified = false;
DOMString portStr;
while (p < parselen)
{
ch = peek(p);
if (ch == '/')
break;
else if (ch == '&') //IRI entity
{
int val;
p2 = parseEntity(p, val);
if (p2<p)
{
return -1;
}
p = p2;
authority.push_back((XMLCh)val);
}
else if (ch == '%') //ascii hex excape
{
int val;
p2 = parseAsciiEntity(p, val);
if (p2<p)
{
return -1;
}
p = p2;
authority.push_back((XMLCh)val);
}
else if (ch == ':')
{
portSpecified = true;
p++;
}
else if (portSpecified)
{
portStr.push_back((XMLCh)ch);
p++;
}
else
{
authority.push_back((XMLCh)ch);
p++;
}
}
if (portStr.size() > 0)
{
char *pstr = (char *)portStr.c_str();
char *endStr;
long val = strtol(pstr, &endStr, 10);
if (endStr > pstr) //successful parse?
port = val;
}
}
//# Are we absolute?
ch = peek(p);
if (uni_is_letter(ch) && peek(p+1)==':')
{
absolute = true;
path.push_back((XMLCh)'/');
}
else if (ch == '/')
{
absolute = true;
if (p>p0) //in other words, if '/' is not the first char
opaque = true;
path.push_back((XMLCh)ch);
p++;
}
while (p < parselen)
{
ch = peek(p);
if (ch == '?' || ch == '#')
break;
else if (ch == '&') //IRI entity
{
int val;
p2 = parseEntity(p, val);
if (p2<p)
{
return -1;
}
p = p2;
path.push_back((XMLCh)val);
}
else if (ch == '%') //ascii hex excape
{
int val;
//.........这里部分代码省略.........