From 8474147a7c550913ad4de36338aa5be5620a69f3 Mon Sep 17 00:00:00 2001 From: Stephan van Veen Date: Wed, 8 May 2019 23:00:05 +0200 Subject: [PATCH] Use default constructor and non-static member initializers --- include/argparse.hpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/include/argparse.hpp b/include/argparse.hpp index 731854d..064d581 100644 --- a/include/argparse.hpp +++ b/include/argparse.hpp @@ -87,16 +87,7 @@ T get_from_list(const std::list& aList, size_t aIndex) { class Argument { friend class ArgumentParser; public: - Argument() : - mNames({}), - mUsedName(""), - mHelp(""), - mAction([](const std::string& aValue) { return aValue; }), - mValues({}), - mRawValues({}), - mNumArgs(1), - mIsOptional(false), - mIsUsed(false) {} + Argument() = default; Argument& help(const std::string& aHelp) { mHelp = aHelp; @@ -272,12 +263,12 @@ public: std::string mHelp; std::any mDefaultValue; std::any mImplicitValue; - std::function mAction; + std::function mAction = [](const std::string& aValue) { return aValue; }; std::vector mValues; std::vector mRawValues; - size_t mNumArgs; - bool mIsOptional; - bool mIsUsed; // relevant for optional arguments. True if used by user + size_t mNumArgs = 1; + bool mIsOptional = false; + bool mIsUsed = false; // relevant for optional arguments. True if used by user }; class ArgumentParser {