From b1c566b434ea23fdc574599b11fe873decb3ed37 Mon Sep 17 00:00:00 2001 From: Stephan van Veen Date: Fri, 10 May 2019 19:11:43 +0200 Subject: [PATCH] Prefer emplace_back over push_back --- include/argparse.hpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/include/argparse.hpp b/include/argparse.hpp index 23f40a8..aef3c38 100644 --- a/include/argparse.hpp +++ b/include/argparse.hpp @@ -186,7 +186,7 @@ public: if (mDefaultValue.has_value()) { T tDefaultValues = std::any_cast(mDefaultValue); for (size_t i = 0; i < tDefaultValues.size(); i++) { - tResult.push_back(std::any_cast(tDefaultValues[i])); + tResult.emplace_back(std::any_cast(tDefaultValues[i])); } return tResult; } @@ -196,7 +196,7 @@ public: else { if (!mRawValues.empty()) { for (const auto& mValue : mValues) { - tResult.push_back(std::any_cast(mValue)); + tResult.emplace_back(std::any_cast(mValue)); } return tResult; } @@ -204,7 +204,7 @@ public: if (mDefaultValue.has_value()) { std::vector tDefaultValues = std::any_cast>(mDefaultValue); for (size_t i = 0; i < tDefaultValues.size(); i++) { - tResult.push_back(std::any_cast(tDefaultValues[i])); + tResult.emplace_back(std::any_cast(tDefaultValues[i])); } return tResult; } @@ -222,7 +222,7 @@ public: if (mDefaultValue.has_value()) { T tDefaultValues = std::any_cast(mDefaultValue); for (size_t i = 0; i < tDefaultValues.size(); i++) { - tResult.push_back(std::any_cast(get_from_list(tDefaultValues, i))); + tResult.emplace_back(std::any_cast(get_from_list(tDefaultValues, i))); } return tResult; } @@ -232,7 +232,7 @@ public: else { if (!mRawValues.empty()) { for (const auto& mValue : mValues) { - tResult.push_back(std::any_cast(mValue)); + tResult.emplace_back(std::any_cast(mValue)); } return tResult; } @@ -240,7 +240,7 @@ public: if (mDefaultValue.has_value()) { std::list tDefaultValues = std::any_cast>(mDefaultValue); for (size_t i = 0; i < tDefaultValues.size(); i++) { - tResult.push_back(std::any_cast(get_from_list(tDefaultValues, i))); + tResult.emplace_back(std::any_cast(get_from_list(tDefaultValues, i))); } return tResult; } @@ -273,7 +273,7 @@ class ArgumentParser { tArgument->mNumArgs = 0; tArgument->mDefaultValue = false; tArgument->mImplicitValue = true; - mOptionalArguments.push_back(tArgument); + mOptionalArguments.emplace_back(tArgument); mArgumentMap.insert_or_assign(std::string("-h"), tArgument); mArgumentMap.insert_or_assign(std::string("--help"), tArgument); } @@ -285,9 +285,9 @@ class ArgumentParser { std::shared_ptr tArgument = std::make_shared(std::move(Fargs)...); if (!tArgument->mIsOptional) - mPositionalArguments.push_back(tArgument); + mPositionalArguments.emplace_back(tArgument); else - mOptionalArguments.push_back(tArgument); + mOptionalArguments.emplace_back(tArgument); for (auto& mName : tArgument->mNames) { mArgumentMap.insert_or_assign(mName, tArgument); @@ -300,11 +300,11 @@ class ArgumentParser { for (const auto& tParentParser : mParentParsers) { auto tPositionalArguments = tParentParser.mPositionalArguments; for (auto& tArgument : tPositionalArguments) { - mPositionalArguments.push_back(tArgument); + mPositionalArguments.emplace_back(tArgument); } auto tOptionalArguments = tParentParser.mOptionalArguments; for (auto& tArgument : tOptionalArguments) { - mOptionalArguments.push_back(tArgument); + mOptionalArguments.emplace_back(tArgument); } auto tArgumentMap = tParentParser.mArgumentMap; for (auto&[tKey, tValue] : tArgumentMap) { @@ -317,7 +317,7 @@ class ArgumentParser { // Accepts a variadic number of ArgumentParser objects template void add_parents(T aArgumentParser, Targs... Fargs) { - mParentParsers.push_back(aArgumentParser); + mParentParsers.emplace_back(aArgumentParser); add_parents(Fargs...); } @@ -489,7 +489,7 @@ class ArgumentParser { // (2) User has provided an implicit value, which also sets nargs to 0 if (tCount == 0) { // Use implicit value for this optional argument - tArgument->mValues.push_back(tArgument->mImplicitValue); + tArgument->mValues.emplace_back(tArgument->mImplicitValue); tArgument->mRawValues.emplace_back(); tCount = 0; } @@ -499,10 +499,10 @@ class ArgumentParser { tArgument->mUsedName = tCurrentArgument; tArgument->mRawValues.emplace_back(argv[i]); if (tArgument->mAction != nullptr) - tArgument->mValues.push_back(tArgument->mAction(argv[i])); + tArgument->mValues.emplace_back(tArgument->mAction(argv[i])); else { if (tArgument->mDefaultValue.has_value()) - tArgument->mValues.push_back(tArgument->mDefaultValue); + tArgument->mValues.emplace_back(tArgument->mDefaultValue); else tArgument->mValues.emplace_back(std::string(argv[i])); } @@ -569,10 +569,10 @@ class ArgumentParser { tArgument->mUsedName = tCurrentArgument; tArgument->mRawValues.emplace_back(argv[i]); if (tArgument->mAction != nullptr) - tArgument->mValues.push_back(tArgument->mAction(argv[i])); + tArgument->mValues.emplace_back(tArgument->mAction(argv[i])); else { if (tArgument->mDefaultValue.has_value()) - tArgument->mValues.push_back(tArgument->mDefaultValue); + tArgument->mValues.emplace_back(tArgument->mDefaultValue); else tArgument->mValues.emplace_back(std::string(argv[i])); }