本文整理汇总了C++中iface::displayer::show_filename_list方法的典型用法代码示例。如果您正苦于以下问题:C++ displayer::show_filename_list方法的具体用法?C++ displayer::show_filename_list怎么用?C++ displayer::show_filename_list使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类iface::displayer
的用法示例。
在下文中一共展示了displayer::show_filename_list方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
void pragma_which::run(const data::command::iterator& name_begin_,
const data::command::iterator& name_end_,
const data::command::iterator& args_begin_,
const data::command::iterator& args_end_,
iface::displayer& displayer_) const
{
using boost::filesystem::path;
using boost::adaptors::transformed;
using boost::adaptors::filtered;
const parsed_arguments args =
parse_arguments(data::tokens_to_string(name_begin_, name_end_).value(),
args_begin_, args_end_);
const auto include_path =
_shell.engine().header_discoverer().include_path(args.header.type);
const auto files =
include_path |
transformed(std::function<path(const path&)>(
[&args](const path& path_) { return path_ / args.header.path; })) |
filtered([](const path& path_) { return exists(path_); });
if (files.empty())
{
throw exception("Include file " +
data::tokens_to_string(args_begin_, args_end_).value() +
" not found.");
}
else if (args.all)
{
displayer_.show_filename_list(
std::vector<path>(files.begin(), files.end()));
}
else
{
displayer_.show_filename_list({files.front()});
}
}