本文整理汇总了C++中std::u16string::replace方法的典型用法代码示例。如果您正苦于以下问题:C++ u16string::replace方法的具体用法?C++ u16string::replace怎么用?C++ u16string::replace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::u16string
的用法示例。
在下文中一共展示了u16string::replace方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mapToDimension
bool mapToDimension(std::u16string& value)
{
if (stripLeadingWhitespace(value).empty())
return false;
if (value[0] == '+') {
if (value.erase(0, 1).empty())
return false;
}
size_t pos = 0;
while (value[pos] == '0')
++pos;
if (0 < pos) {
if (value.erase(0, pos).empty())
return false;
}
pos = 0;
while (isDigit(value[pos]))
++pos;
if (value.length() <= pos) {
value += u"px";
return true;
}
size_t end = pos;
if (value[pos] == '.') {
++pos;
if (value.length() <= pos || !isDigit(value[pos])) {
value.replace(end, std::u16string::npos, u"px");
return true;
}
++pos;
while (isDigit(value[pos]))
++pos;
}
if (pos < value.length() && value[pos] == '%') {
value.erase(++pos);
return true;
}
value.replace(pos, std::u16string::npos, u"px"); // TODO: Check whether floating point length should be allowed
return true;
}
示例2: mapToPixelLength
bool mapToPixelLength(std::u16string& value)
{
if (stripLeadingWhitespace(value).empty())
return false;
const char16_t* input = value.c_str();
const char16_t* end = input + value.length();
int u;
end = parseInt(input, end, u);
if (!end || u < 0)
return false;
if (0 < u)
value.replace(end - input, std::u16string::npos, u"px");
else
value.erase(end - input);
return true;
}