From e8d12d2e5665a32ec755ad96b0d2e74d71270760 Mon Sep 17 00:00:00 2001 From: quentin Date: Thu, 8 Sep 2022 11:00:56 -0500 Subject: [PATCH] Optimized the creation of accounts and removed writing null to newly created --- src/data/data.tpp | 1 + src/main.cpp | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/data/data.tpp b/src/data/data.tpp index 0d835ec..aa4d8ea 100644 --- a/src/data/data.tpp +++ b/src/data/data.tpp @@ -10,6 +10,7 @@ #include #include #include +#include template diff --git a/src/main.cpp b/src/main.cpp index e804f6b..d00b193 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -57,11 +57,16 @@ int main(int argc, char *argv[]) { accountOptHandler.help(); } if (accountOptHandler.getSetOpts()->create) { - accounts.insert(std::pair( - accountOptHandler.getSetOpts()->createAccount, - (storageD + "accounts/" + accountOptHandler.getSetOpts()->createAccount + - ".json", accountOptHandler.getSetOpts()->createAccount) - )); + auto a = accounts.find(accountOptHandler.getSetOpts()->delAccount); + if (a == accounts.end()) { + accounts.emplace(std::piecewise_construct, + std::make_tuple(accountOptHandler.getSetOpts()->createAccount), std::make_tuple( + storageD + "accounts/" + accountOptHandler.getSetOpts()->createAccount + ".json", + accountOptHandler.getSetOpts()->createAccount)); + } else { + std::cout << "Account " << accountOptHandler.getSetOpts()->delAccount << " already exists." + << std::endl; + } } if (accountOptHandler.getSetOpts()->value) { auto a = accounts.find(accountOptHandler.getSetOpts()->valueAccount); @@ -69,6 +74,13 @@ int main(int argc, char *argv[]) { std::cout << "Account value: " << a->second.getAccount()->getValue() << std::endl; } } + if (accountOptHandler.getSetOpts()->del) { + auto a = accounts.find(accountOptHandler.getSetOpts()->delAccount); + if (a != accounts.end()) { + accounts.erase(a); + std::cout << "Deleted account: " << accountOptHandler.getSetOpts()->delAccount << std::endl; + } + } } return 0; }