当前位置: 首页>>代码示例>>C++>>正文


C++ nsACString::StripChars方法代码示例

本文整理汇总了C++中nsACString::StripChars方法的典型用法代码示例。如果您正苦于以下问题:C++ nsACString::StripChars方法的具体用法?C++ nsACString::StripChars怎么用?C++ nsACString::StripChars使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在nsACString的用法示例。


在下文中一共展示了nsACString::StripChars方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

void
net_FilterURIString(const nsACString& input, nsACString& result)
{
    const char kCharsToStrip[] = "\r\n\t";

    result.Truncate();

    auto start = input.BeginReading();
    auto end = input.EndReading();

    // Trim off leading and trailing invalid chars.
    auto charFilter = [](char c) { return static_cast<uint8_t>(c) > 0x20; };
    auto newStart = std::find_if(start, end, charFilter);
    auto newEnd = std::find_if(
        std::reverse_iterator<decltype(end)>(end),
        std::reverse_iterator<decltype(newStart)>(newStart),
        charFilter).base();

    // Check if chars need to be stripped.
    auto itr = std::find_first_of(
        newStart, newEnd, std::begin(kCharsToStrip), std::end(kCharsToStrip));
    const bool needsStrip = itr != newEnd;

    // Just use the passed in string rather than creating new copies if no
    // changes are necessary.
    if (newStart == start && newEnd == end && !needsStrip) {
        result = input;
        return;
    }

    result.Assign(Substring(newStart, newEnd));
    if (needsStrip) {
        result.StripChars(kCharsToStrip);
    }
}
开发者ID:brendandahl,项目名称:positron,代码行数:35,代码来源:nsURLHelper.cpp

示例2: p

/* Extract URI-Scheme if possible */
nsresult
net_ExtractURLScheme(const nsACString &inURI,
                     nsACString& scheme)
{
    nsACString::const_iterator start, end;
    inURI.BeginReading(start);
    inURI.EndReading(end);

    // Strip C0 and space from begining
    while (start != end) {
        if ((uint8_t) *start > 0x20) {
            break;
        }
        start++;
    }

    Tokenizer p(Substring(start, end), "\r\n\t");
    p.Record();
    if (!p.CheckChar(isAsciiAlpha)) {
        // First char must be alpha
        return NS_ERROR_MALFORMED_URI;
    }

    while (p.CheckChar(net_IsValidSchemeChar) || p.CheckWhite()) {
        // Skip valid scheme characters or \r\n\t
    }

    if (!p.CheckChar(':')) {
        return NS_ERROR_MALFORMED_URI;
    }

    p.Claim(scheme);
    scheme.StripChars("\r\n\t");
    return NS_OK;
}
开发者ID:brendandahl,项目名称:positron,代码行数:36,代码来源:nsURLHelper.cpp


注:本文中的nsACString::StripChars方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。