From cfc99627f8fa8967dcae290930b35802ab903544 Mon Sep 17 00:00:00 2001 From: EntireTwix Date: Wed, 21 Apr 2021 19:30:50 -0700 Subject: [PATCH] :racehorse: reduced by one locking call --- include/bank.hpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/include/bank.hpp b/include/bank.hpp index ba1e845..f38c0d6 100644 --- a/include/bank.hpp +++ b/include/bank.hpp @@ -128,20 +128,18 @@ public: Transaction temp(a_name, b_name, amount); Transaction temp2(a_name, b_name, amount); - if (!logs.contains(a_name)) + if (logs.try_emplace_l(a_name, [&temp](Log &l) { l.AddTrans(std::move(temp)); })) { - logs.try_emplace(a_name); + logs.modify_if(a_name, [&temp](Log &l) { + l.AddTrans(std::move(temp)); + }); } - logs.modify_if(a_name, [&temp](Log &l) { - l.AddTrans(std::move(temp)); - }); - if (!logs.contains(b_name)) + if (logs.try_emplace_l(b_name, [&temp2](Log &l) { l.AddTrans(std::move(temp2)); })) { - logs.try_emplace(b_name); + logs.modify_if(b_name, [&temp2](Log &l) { + l.AddTrans(std::move(temp2)); + }); } - logs.modify_if(b_name, [&temp2](Log &l) { - l.AddTrans(std::move(temp2)); - }); } return state;