本文整理汇总了C++中Tools::emplace_back方法的典型用法代码示例。如果您正苦于以下问题:C++ Tools::emplace_back方法的具体用法?C++ Tools::emplace_back怎么用?C++ Tools::emplace_back使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tools
的用法示例。
在下文中一共展示了Tools::emplace_back方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createTools
void createTools(const std::vector<std::filesystem::path>& arguments, Tools& tools) {
std::regex r("([^ ]+) *(.*)");
for (const auto& arg: arguments) {
std::smatch matches;
if (std::regex_match(arg.native(), matches, r)) {
fs::path path = std::filesystem::canonical(fs::path(matches[1]));
if (!fs::is_regular_file(path)) {
BENCHMAX_LOG_WARN("benchmax", "The tool " << path << " does not seem to be a file. We skip it.");
continue;
}
const fs::perms executable = fs::perms::others_exec | fs::perms::group_exec | fs::perms::owner_exec;
if ((fs::status(path).permissions() & executable) == fs::perms::none) {
BENCHMAX_LOG_WARN("benchmax", "The tool " << path << " does not seem to be executable. We skip it.");
continue;
}
BENCHMAX_LOG_DEBUG("benchmax.tools", "Adding tool " << path << " with arguments \"" << matches[2] << "\".");
tools.emplace_back(std::make_unique<T>(path, matches[2]));
}
}
}