本文整理汇总了C++中CharArray::copy方法的典型用法代码示例。如果您正苦于以下问题:C++ CharArray::copy方法的具体用法?C++ CharArray::copy怎么用?C++ CharArray::copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CharArray
的用法示例。
在下文中一共展示了CharArray::copy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: split
template<typename F1, typename F2> void split(const CharArray &input, F1 data, F2 split)
{
compile_pattern();
int ovector[vector_size];
size_t prev = 0;
while(true)
{
int groups = match(input, ovector, prev);
if(groups <= 0)
{
if(prev < input.size())
data(input.copy(prev, input.size() - prev));
return;
}
else
{
int start = ovector[0];
int stop = ovector[1];
for (int i = 0; i < groups; i++) {
start = std::min(start, ovector[2 * i]);
stop = std::max(stop, ovector[2 * i + 1]);
}
if((size_t)stop == prev)
{
split(start, stop);
data(input.copy(prev, 1));
prev += 1;
}
else
{
data(input.copy(prev, (size_t)start - prev));
split(start, stop);
prev = stop;
}
}
}
}