refactor(mkdwarfs_main): hide members in categorize_optval

This commit is contained in:
Marcus Holland-Moritz 2025-03-16 11:43:57 +01:00
parent 0a380ece6c
commit 40e8ffc5a3

View File

@ -335,15 +335,16 @@ constexpr unsigned default_level = 7;
class categorize_optval { class categorize_optval {
public: public:
std::string value;
bool is_explicit{false};
categorize_optval() = default; categorize_optval() = default;
explicit categorize_optval(std::string const& val, bool expl = false) explicit categorize_optval(std::string const& val, bool expl = false)
: value{val} : value_{val}
, is_explicit{expl} {} , is_explicit_{expl} {}
bool is_implicit_default() const { return !value.empty() && !is_explicit; } bool empty() const { return value_.empty(); }
std::string const& value() const { return value_; }
bool is_implicit_default() const { return !empty() && !is_explicit_; }
bool is_explicit() const { return is_explicit_; }
template <typename T> template <typename T>
void add_implicit_defaults(T& cop) const { void add_implicit_defaults(T& cop) const {
@ -365,10 +366,12 @@ class categorize_optval {
private: private:
categorize_defaults_type defaults_; categorize_defaults_type defaults_;
std::string value_;
bool is_explicit_{false};
}; };
std::ostream& operator<<(std::ostream& os, categorize_optval const& optval) { std::ostream& operator<<(std::ostream& os, categorize_optval const& optval) {
return os << optval.value << (optval.is_explicit ? " (explicit)" : ""); return os << optval.value() << (optval.is_explicit() ? " (explicit)" : "");
} }
void validate(boost::any& v, std::vector<std::string> const& values, void validate(boost::any& v, std::vector<std::string> const& values,
@ -1166,9 +1169,9 @@ int mkdwarfs_main(int argc, sys_char** argv, iolayer const& iol) {
} }
} }
if (!categorizer_list.value.empty()) { if (!categorizer_list.empty()) {
auto categorizers = auto categorizers =
split_to<std::vector<std::string>>(categorizer_list.value, ','); split_to<std::vector<std::string>>(categorizer_list.value(), ',');
options.inode.categorizer_mgr = options.inode.categorizer_mgr =
std::make_shared<writer::categorizer_manager>(lgr); std::make_shared<writer::categorizer_manager>(lgr);