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


C++ XLine::Matches方法代码示例

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


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

示例1: CheckELines

/*
 * Checks what users match a given vector of ELines and sets their ban exempt flag accordingly.
 */
void XLineManager::CheckELines()
{
    ContainerIter n = lookup_lines.find("E");

    if (n == lookup_lines.end())
        return;

    XLineLookup& ELines = n->second;

    if (ELines.empty())
        return;

    for (LocalUserList::const_iterator u2 = ServerInstance->Users->local_users.begin(); u2 != ServerInstance->Users->local_users.end(); u2++)
    {
        LocalUser* u = *u2;

        /* This uses safe iteration to ensure that if a line expires here, it doenst trash the iterator */
        LookupIter safei;

        for (LookupIter i = ELines.begin(); i != ELines.end(); )
        {
            safei = i;
            safei++;

            XLine *e = i->second;
            u->exempt = e->Matches(u);

            i = safei;
        }
    }
}
开发者ID:H7-25,项目名称:inspircd,代码行数:34,代码来源:xline.cpp

示例2: ApplyLines

// applies lines, removing clients and changing nicks etc as applicable
void XLineManager::ApplyLines()
{
    LocalUserList::reverse_iterator u2 = ServerInstance->Users->local_users.rbegin();
    while (u2 != ServerInstance->Users->local_users.rend())
    {
        LocalUser* u = *u2++;

        // Don't ban people who are exempt.
        if (u->exempt)
            continue;

        for (std::vector<XLine *>::iterator i = pending_lines.begin(); i != pending_lines.end(); i++)
        {
            XLine *x = *i;
            if (x->Matches(u))
                x->Apply(u);
        }
    }

    pending_lines.clear();
}
开发者ID:H7-25,项目名称:inspircd,代码行数:22,代码来源:xline.cpp


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