本文整理汇总了C++中UVector::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ UVector::push_back方法的具体用法?C++ UVector::push_back怎么用?C++ UVector::push_back使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UVector
的用法示例。
在下文中一共展示了UVector::push_back方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cookie_split
static unsigned cookie_split(UVector<UString>& vec, const UString& buffer, const char* delim)
{
U_TRACE(5, "cookie_split(%p,%.*S,%S)", &vec, U_STRING_TO_TRACE(buffer), delim)
UString x;
unsigned r, n = vec.size();
const char* s = buffer.data();
const char* ss = s;
const char* end = s + buffer.size();
const char* p;
const char* b = s;
loop:
if (s >= end) goto done;
if (strchr(delim, *s))
{
++s;
goto loop;
}
else
{
while (isspace(*s)) s++;
p = s++;
if (*(s-1) == '"')
{
while (s < end && *s != '"') ++s;
}
ss = s;
while (s < end && strchr(delim,*s) == 0)
{
++s;
if (!isspace(*(s-1))) ss = s;
}
}
if (*p == '"' && *(ss-1) == '"')
{
p++;
ss--;
}
x = buffer.substr(p - b, ss - p);
vec.push_back(x);
++s;
goto loop;
done:
r = vec.size() - n;
#ifdef DEBUG
for (unsigned i = 0; i < r; ++i)
{
U_DUMP("vec[%d] = %.*S", n+i, U_STRING_TO_TRACE(vec[n+i]))
}
#endif
U_RETURN(r);
}