diff --git a/src/common/option_utils.hpp b/src/common/option_utils.hpp index 2f8bbc1..a907ef2 100644 --- a/src/common/option_utils.hpp +++ b/src/common/option_utils.hpp @@ -4,11 +4,17 @@ class OptionUtils { + public: + template + using OptionValue = boost::program_options::typed_value *; + + template + static OptionValue + withDefault(const T &value, const char *name = nullptr); + protected: OptionUtils() = default; ~OptionUtils() = default; - - template static auto withDefault(T value); }; #include "option_utils.tpp" diff --git a/src/common/option_utils.tpp b/src/common/option_utils.tpp index 7788a96..4ce5df9 100644 --- a/src/common/option_utils.tpp +++ b/src/common/option_utils.tpp @@ -1,8 +1,13 @@ #pragma once - #include "option_utils.hpp" -template auto OptionUtils::withDefault(T value) +template +OptionUtils::OptionValue +OptionUtils::withDefault(const T &value, const char *name) { - return boost::program_options::value()->default_value(value); + auto v = boost::program_options::value()->default_value(value); + if (name) { + v->value_name(name); // Optional + } + return v; } diff --git a/src/common/server.hpp b/src/common/server.hpp deleted file mode 100644 index 60a60a1..0000000 --- a/src/common/server.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -class Server -{ - public: - virtual ~Server() = default; - virtual void start() = 0; - virtual void stop() = 0; -};