Use default constructor and non-static member initializers

This commit is contained in:
Stephan van Veen 2019-05-08 23:00:05 +02:00
parent f13f538f8c
commit 8474147a7c

View File

@ -87,16 +87,7 @@ T get_from_list(const std::list<T>& aList, size_t aIndex) {
class Argument { class Argument {
friend class ArgumentParser; friend class ArgumentParser;
public: public:
Argument() : Argument() = default;
mNames({}),
mUsedName(""),
mHelp(""),
mAction([](const std::string& aValue) { return aValue; }),
mValues({}),
mRawValues({}),
mNumArgs(1),
mIsOptional(false),
mIsUsed(false) {}
Argument& help(const std::string& aHelp) { Argument& help(const std::string& aHelp) {
mHelp = aHelp; mHelp = aHelp;
@ -272,12 +263,12 @@ public:
std::string mHelp; std::string mHelp;
std::any mDefaultValue; std::any mDefaultValue;
std::any mImplicitValue; std::any mImplicitValue;
std::function<std::any(const std::string&)> mAction; std::function<std::any(const std::string&)> mAction = [](const std::string& aValue) { return aValue; };
std::vector<std::any> mValues; std::vector<std::any> mValues;
std::vector<std::string> mRawValues; std::vector<std::string> mRawValues;
size_t mNumArgs; size_t mNumArgs = 1;
bool mIsOptional; bool mIsOptional = false;
bool mIsUsed; // relevant for optional arguments. True if used by user bool mIsUsed = false; // relevant for optional arguments. True if used by user
}; };
class ArgumentParser { class ArgumentParser {