mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-11 13:30:47 -04:00
Add and use category_prefix() function
This commit is contained in:
parent
a9ff74ee0c
commit
b75e0c78a1
@ -172,6 +172,19 @@ class categorizer_manager {
|
||||
std::unique_ptr<impl> impl_;
|
||||
};
|
||||
|
||||
std::string category_prefix(std::shared_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category cat);
|
||||
std::string category_prefix(std::unique_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category cat);
|
||||
std::string
|
||||
category_prefix(categorizer_manager const* mgr, fragment_category cat);
|
||||
std::string category_prefix(std::shared_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category::value_type cat);
|
||||
std::string category_prefix(std::unique_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category::value_type cat);
|
||||
std::string category_prefix(categorizer_manager const* mgr,
|
||||
fragment_category::value_type cat);
|
||||
|
||||
class categorizer_info {
|
||||
public:
|
||||
virtual ~categorizer_info() = default;
|
||||
|
@ -42,6 +42,42 @@ using namespace std::placeholders;
|
||||
|
||||
namespace po = boost::program_options;
|
||||
|
||||
std::string category_prefix(std::shared_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category cat) {
|
||||
return category_prefix(mgr.get(), cat);
|
||||
}
|
||||
|
||||
std::string category_prefix(std::unique_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category cat) {
|
||||
return category_prefix(mgr.get(), cat);
|
||||
}
|
||||
|
||||
std::string category_prefix(std::shared_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category::value_type cat) {
|
||||
return category_prefix(mgr.get(), cat);
|
||||
}
|
||||
|
||||
std::string category_prefix(std::unique_ptr<categorizer_manager> const& mgr,
|
||||
fragment_category::value_type cat) {
|
||||
return category_prefix(mgr.get(), cat);
|
||||
}
|
||||
|
||||
std::string category_prefix(categorizer_manager const* mgr,
|
||||
fragment_category::value_type cat) {
|
||||
return category_prefix(mgr, fragment_category(cat));
|
||||
}
|
||||
|
||||
std::string
|
||||
category_prefix(categorizer_manager const* mgr, fragment_category cat) {
|
||||
std::string prefix;
|
||||
if (mgr) {
|
||||
prefix = fmt::format(
|
||||
"[{}{}] ", mgr->category_name(cat.value()),
|
||||
cat.has_subcategory() ? fmt::format("/{}", cat.subcategory()) : "");
|
||||
}
|
||||
return prefix;
|
||||
}
|
||||
|
||||
std::string
|
||||
categorizer::category_metadata(std::string_view, fragment_category) const {
|
||||
return std::string();
|
||||
|
@ -45,13 +45,9 @@ fragment_chunkable::~fragment_chunkable() = default;
|
||||
size_t fragment_chunkable::size() const { return frag_.size(); }
|
||||
|
||||
std::string fragment_chunkable::description() const {
|
||||
std::string prefix;
|
||||
if (catmgr_) {
|
||||
prefix =
|
||||
fmt::format("{} ", catmgr_->category_name(frag_.category().value()));
|
||||
}
|
||||
return fmt::format("{}fragment at offset {} of inode {} [{}] - size: {}",
|
||||
prefix, offset_, ino_.num(), ino_.any()->name(), size());
|
||||
category_prefix(catmgr_, frag_.category()), offset_,
|
||||
ino_.num(), ino_.any()->name(), size());
|
||||
}
|
||||
|
||||
std::span<uint8_t const> fragment_chunkable::span() const {
|
||||
|
@ -585,12 +585,7 @@ template <typename LoggerPolicy>
|
||||
auto inode_manager_<LoggerPolicy>::ordered_span(fragment_category cat,
|
||||
worker_group& wg) const
|
||||
-> sortable_inode_span {
|
||||
std::string prefix;
|
||||
if (opts_.categorizer_mgr) {
|
||||
prefix =
|
||||
fmt::format("[{}] ", opts_.categorizer_mgr->category_name(cat.value()));
|
||||
}
|
||||
|
||||
auto prefix = category_prefix(opts_.categorizer_mgr, cat);
|
||||
auto opts = opts_.fragment_order.get(cat);
|
||||
|
||||
auto span = sortable_span();
|
||||
|
Loading…
x
Reference in New Issue
Block a user