46 std::any get(const std::
string& key) const override;
47 std::any get(const std::
string& key, const std::any& default_value) const override;
48 bool has(const std::
string& key) const override;
51 ValidationResult set(const std::
string& key, const std::any& value) override;
52 bool remove(const std::
string& key) override;
53 void clear() override;
60 void register_item(const
ConfigItem& item) override;
61 void register_validator(const std::
string& key, std::function<
ValidationResult(const std::any&)> validator) override;
65 void remove_change_callback(const std::
string& key) override;
68 bool save_to_file(const std::
string& filepath) const override;
69 bool load_from_file(const std::
string& filepath) override;
72 std::vector<std::
string> get_keys() const override;
73 ConfigType get_type(const std::
string& key) const override;
74 std::
string get_description(const std::
string& key) const override;
75 bool is_required(const std::
string& key) const override;
79 const
Impl* get_impl()
const {
return impl_.get(); }
80 Impl* get_impl() {
return impl_.get(); }
81 std::unique_ptr<Impl> impl_;
ConfigManager(ConfigManager &&) noexcept
~ConfigManager() override
std::function< void(const std::string &key, const std::any &old_value, const std::any &new_value)> ConfigChangeCallback