本文整理汇总了C++中Environment::aliases方法的典型用法代码示例。如果您正苦于以下问题:C++ Environment::aliases方法的具体用法?C++ Environment::aliases怎么用?C++ Environment::aliases使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Environment
的用法示例。
在下文中一共展示了Environment::aliases方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: builtin_alias
int builtin_alias(Environment &env, const std::vector<std::string> &tokens, const fdmask &fds) {
// alias -> lists all aliases
// alias name -> list single alias
// alias name parms... -> add a new alias.
if (tokens.size() == 1) {
for (const auto &p : env.aliases()) {
fdprintf(stdout, "Alias %s %s\n", quote(p.first).c_str(), quote(p.second).c_str());
}
return 0;
}
std::string name = tokens[1];
if (tokens.size() == 2) {
const auto as = env.find_alias(name);
if (as.empty()) {
fdprintf(stderr, "### Alias - No alias exists for %s\n", quote(name).c_str());
return 1;
}
fdprintf(stdout, "Alias %s %s\n", quote(name).c_str(), quote(as).c_str());
return 0;
}
std::string as;
for (const auto &s : make_offset_range(tokens, 2)) {
as += s;
as.push_back(' ');
}
as.pop_back();
// add/remove it to the alias table...
if (as.empty()) {
env.remove_alias(name);
}
else {
env.add_alias(std::move(name), std::move(as));
}
return 0;
}