本文整理汇总了C++中anope::string::is_number_only方法的典型用法代码示例。如果您正苦于以下问题:C++ string::is_number_only方法的具体用法?C++ string::is_number_only怎么用?C++ string::is_number_only使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类anope::string
的用法示例。
在下文中一共展示了string::is_number_only方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Execute
void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) override
{
MemoServ::MemoInfo *mi;
ChanServ::Channel *ci = NULL;
Anope::string numstr = params[0], chan;
if (!numstr.empty() && numstr[0] == '#')
{
chan = numstr;
numstr = params.size() > 1 ? params[1] : "";
ci = ChanServ::Find(chan);
if (!ci)
{
source.Reply(_("Channel \002{0}\002 isn't registered."), chan);
return;
}
if (!source.AccessFor(ci).HasPriv("MEMO"))
{
source.Reply(_("Access denied. You do not have privilege \002{0}\002 on \002{1}\002."), "MEMO", ci->GetName());
return;
}
mi = ci->GetMemos();
}
else
mi = source.nc->GetMemos();
if (numstr.empty() || (!numstr.equals_ci("LAST") && !numstr.equals_ci("NEW") && !numstr.is_number_only()))
{
this->OnSyntaxError(source, numstr);
return;
}
if (!mi)
return;
auto memos = mi->GetMemos();
if (memos.empty())
{
if (!chan.empty())
source.Reply(_("\002{0}\002 has no memos."), chan);
else
source.Reply(_("You have no memos."));
return;
}
int i, end;
if (numstr.equals_ci("NEW"))
{
int readcount = 0;
for (i = 0, end = memos.size(); i < end; ++i)
if (mi->GetMemo(i)->GetUnread())
{
DoRead(source, mi, ci, i);
++readcount;
}
if (!readcount)
{
if (!chan.empty())
source.Reply(_("\002{0}\002 has no new memos."), chan);
else
source.Reply(_("You have no new memos."));
}
}
else if (numstr.equals_ci("LAST"))
{
for (i = 0, end = memos.size() - 1; i < end; ++i);
DoRead(source, mi, ci, i);
}
else /* number[s] */
{
NumberList(numstr, false,
[&](unsigned int number)
{
if (!number || number > memos.size())
return;
DoRead(source, mi, ci, number - 1);
},
[]{});
}
}
示例2: Init
void Anope::Init(int ac, char **av)
{
/* Set file creation mask and group ID. */
#if defined(DEFUMASK) && HAVE_UMASK
umask(DEFUMASK);
#endif
/* Parse command line arguments */
ParseCommandLineArguments(ac, av);
if (GetCommandLineArgument("version", 'v'))
{
Log(LOG_TERMINAL) << "Anope-" << Anope::Version() << " -- " << Anope::VersionBuildString();
throw CoreException();
}
if (GetCommandLineArgument("help", 'h'))
{
Log(LOG_TERMINAL) << "Anope-" << Anope::Version() << " -- " << Anope::VersionBuildString();
Log(LOG_TERMINAL) << "Anope IRC Services (http://www.anope.org)";
Log(LOG_TERMINAL) << "Usage ./" << Anope::ServicesBin << " [options] ...";
Log(LOG_TERMINAL) << "-c, --config=filename.conf";
Log(LOG_TERMINAL) << " --confdir=conf file direcory";
Log(LOG_TERMINAL) << " --dbdir=database directory";
Log(LOG_TERMINAL) << "-d, --debug[=level]";
Log(LOG_TERMINAL) << "-h, --help";
Log(LOG_TERMINAL) << " --localedir=locale directory";
Log(LOG_TERMINAL) << " --logdir=logs directory";
Log(LOG_TERMINAL) << " --modulesdir=modules directory";
Log(LOG_TERMINAL) << "-e, --noexpire";
Log(LOG_TERMINAL) << "-n, --nofork";
Log(LOG_TERMINAL) << " --nothird";
Log(LOG_TERMINAL) << " --protocoldebug";
Log(LOG_TERMINAL) << "-r, --readonly";
Log(LOG_TERMINAL) << "-s, --support";
Log(LOG_TERMINAL) << "-v, --version";
Log(LOG_TERMINAL) << "";
Log(LOG_TERMINAL) << "Further support is available from http://www.anope.org";
Log(LOG_TERMINAL) << "Or visit us on IRC at irc.anope.org #anope";
throw CoreException();
}
if (GetCommandLineArgument("nofork", 'n'))
Anope::NoFork = true;
if (GetCommandLineArgument("support", 's'))
{
Anope::NoFork = Anope::NoThird = true;
++Anope::Debug;
}
if (GetCommandLineArgument("readonly", 'r'))
Anope::ReadOnly = true;
if (GetCommandLineArgument("nothird"))
Anope::NoThird = true;
if (GetCommandLineArgument("noexpire", 'e'))
Anope::NoExpire = true;
if (GetCommandLineArgument("protocoldebug"))
Anope::ProtocolDebug = true;
Anope::string arg;
if (GetCommandLineArgument("debug", 'd', arg))
{
if (!arg.empty())
{
int level = arg.is_number_only() ? convertTo<int>(arg) : -1;
if (level > 0)
Anope::Debug = level;
else
throw CoreException("Invalid option given to --debug");
}
else
++Anope::Debug;
}
if (GetCommandLineArgument("config", 'c', arg))
{
if (arg.empty())
throw CoreException("The --config option requires a file name");
ServicesConf = Configuration::File(arg, false);
}
if (GetCommandLineArgument("confdir", 0, arg))
{
if (arg.empty())
throw CoreException("The --confdir option requires a path");
Anope::ConfigDir = arg;
}
if (GetCommandLineArgument("dbdir", 0, arg))
{
if (arg.empty())
throw CoreException("The --dbdir option requires a path");
Anope::DataDir = arg;
}
if (GetCommandLineArgument("localedir", 0, arg))
//.........这里部分代码省略.........