summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/options.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/util/options.h')
-rw-r--r--src/lib/util/options.h55
1 files changed, 28 insertions, 27 deletions
diff --git a/src/lib/util/options.h b/src/lib/util/options.h
index 3fcd9d5e144..457ec08dd1d 100644
--- a/src/lib/util/options.h
+++ b/src/lib/util/options.h
@@ -101,6 +101,7 @@ public:
{
public:
typedef std::shared_ptr<entry> shared_ptr;
+ typedef std::shared_ptr<const entry> shared_const_ptr;
typedef std::weak_ptr<entry> weak_ptr;
// constructor/destructor
@@ -113,17 +114,17 @@ public:
virtual ~entry();
// accessors
- const std::vector<std::string> &names() const { return m_names; }
- const std::string &name() const { return m_names[0]; }
- virtual const char *value() const;
- int priority() const { return m_priority; }
- void set_priority(int priority) { m_priority = priority; }
- option_type type() const { return m_type; }
- const char *description() const { return m_description; }
- virtual const std::string &default_value() const;
- virtual const char *minimum() const;
- virtual const char *maximum() const;
- bool has_range() const;
+ const std::vector<std::string> &names() const noexcept { return m_names; }
+ const std::string &name() const noexcept { return m_names[0]; }
+ virtual const char *value() const noexcept;
+ int priority() const noexcept { return m_priority; }
+ void set_priority(int priority) noexcept { m_priority = priority; }
+ option_type type() const noexcept { return m_type; }
+ const char *description() const noexcept { return m_description; }
+ virtual const std::string &default_value() const noexcept;
+ virtual const char *minimum() const noexcept;
+ virtual const char *maximum() const noexcept;
+ bool has_range() const noexcept;
// mutators
void set_value(std::string &&newvalue, int priority, bool always_override = false);
@@ -154,13 +155,13 @@ public:
virtual ~core_options();
// getters
- const std::string &command() const { return m_command; }
- const std::vector<std::string> &command_arguments() const { assert(!m_command.empty()); return m_command_arguments; }
- const entry::shared_ptr get_entry(const std::string &name) const;
- entry::shared_ptr get_entry(const std::string &name);
- const std::vector<entry::shared_ptr> &entries() const { return m_entries; }
- bool exists(const std::string &name) const { return get_entry(name) != nullptr; }
- bool header_exists(const char *description) const;
+ const std::string &command() const noexcept { return m_command; }
+ const std::vector<std::string> &command_arguments() const noexcept { assert(!m_command.empty()); return m_command_arguments; }
+ entry::shared_const_ptr get_entry(const std::string &name) const noexcept;
+ entry::shared_ptr get_entry(const std::string &name) noexcept;
+ const std::vector<entry::shared_ptr> &entries() const noexcept { return m_entries; }
+ bool exists(const std::string &name) const noexcept { return get_entry(name) != nullptr; }
+ bool header_exists(const char *description) const noexcept;
// configuration
void add_entry(entry::shared_ptr &&entry, const char *after_header = nullptr);
@@ -184,11 +185,11 @@ public:
std::string output_help() const;
// reading
- const char *value(const char *option) const;
- const char *description(const char *option) const;
+ const char *value(const char *option) const noexcept;
+ const char *description(const char *option) const noexcept;
bool bool_value(const char *option) const { return int_value(option) != 0; }
- int int_value(const char *option) const { return atoi(value(option)); }
- float float_value(const char *option) const { return atof(value(option)); }
+ int int_value(const char *option) const;
+ float float_value(const char *option) const;
// setting
void set_value(const std::string &name, const std::string &value, int priority);
@@ -197,7 +198,7 @@ public:
void set_value(const std::string &name, float value, int priority);
// misc
- static const char *unadorned(int x = 0) { return s_option_unadorned[std::min(x, MAX_UNADORNED_OPTIONS - 1)]; }
+ static const char *unadorned(int x = 0) noexcept { return s_option_unadorned[std::min(x, MAX_UNADORNED_OPTIONS - 1)]; }
protected:
virtual void command_argument_processed() { }
@@ -215,10 +216,10 @@ private:
~simple_entry();
// getters
- virtual const char *value() const override;
- virtual const char *minimum() const override;
- virtual const char *maximum() const override;
- virtual const std::string &default_value() const override;
+ virtual const char *value() const noexcept override;
+ virtual const char *minimum() const noexcept override;
+ virtual const char *maximum() const noexcept override;
+ virtual const std::string &default_value() const noexcept override;
virtual void revert(int priority_hi, int priority_lo) override;
virtual void set_default_value(std::string &&newvalue) override;