本文整理汇总了C++中InternedString::s方法的典型用法代码示例。如果您正苦于以下问题:C++ InternedString::s方法的具体用法?C++ InternedString::s怎么用?C++ InternedString::s使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InternedString
的用法示例。
在下文中一共展示了InternedString::s方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mangleNameInPlace
static void mangleNameInPlace(InternedString& id, llvm::StringRef private_name, InternedStringPool& interned_strings) {
if (!private_name.size())
return;
int len = id.s().size();
if (len < 2 || id.s()[0] != '_' || id.s()[1] != '_')
return;
if ((id.s()[len - 2] == '_' && id.s()[len - 1] == '_') || id.s().find('.') != std::string::npos)
return;
assert(private_name.data()[private_name.size()] == '\0');
const char* p = private_name.data();
while (*p == '_') {
p++;
len--;
}
if (*p == '\0')
return;
// TODO add a twine interface to interned strings?
id = interned_strings.get("_" + std::string(p) + std::string(id.s()));
}