From 724861a587a9d8ecec238aec4c37154e3f2409bb Mon Sep 17 00:00:00 2001 From: rzhikharevich Date: Thu, 10 Feb 2022 16:51:00 +0300 Subject: Restoring authorship annotation for . Commit 1 of 2. --- library/cpp/threading/future/core/future-inl.h | 8 +- library/cpp/threading/future/future_ut.cpp | 158 ++++++++++++------------- 2 files changed, 83 insertions(+), 83 deletions(-) (limited to 'library/cpp/threading/future') diff --git a/library/cpp/threading/future/core/future-inl.h b/library/cpp/threading/future/core/future-inl.h index 5fd4296a93c..e0ddd4295ec 100644 --- a/library/cpp/threading/future/core/future-inl.h +++ b/library/cpp/threading/future/core/future-inl.h @@ -621,8 +621,8 @@ namespace NThreading { template inline TFuture>> TFuture::Apply(F&& func) const { auto promise = NewPromise>>(); - Subscribe([promise, func = std::forward(func)](const TFuture& future) mutable { - NImpl::SetValue(promise, [&]() { return func(future); }); + Subscribe([promise, func = std::forward(func)](const TFuture& future) mutable { + NImpl::SetValue(promise, [&]() { return func(future); }); }); return promise; } @@ -720,8 +720,8 @@ namespace NThreading { template inline TFuture>> TFuture::Apply(F&& func) const { auto promise = NewPromise>>(); - Subscribe([promise, func = std::forward(func)](const TFuture& future) mutable { - NImpl::SetValue(promise, [&]() { return func(future); }); + Subscribe([promise, func = std::forward(func)](const TFuture& future) mutable { + NImpl::SetValue(promise, [&]() { return func(future); }); }); return promise; } diff --git a/library/cpp/threading/future/future_ut.cpp b/library/cpp/threading/future/future_ut.cpp index 05950a568d4..ccc214372df 100644 --- a/library/cpp/threading/future/future_ut.cpp +++ b/library/cpp/threading/future/future_ut.cpp @@ -9,32 +9,32 @@ namespace NThreading { namespace { - class TCopyCounter { - public: - TCopyCounter(size_t* numCopies) - : NumCopies(numCopies) - {} - - TCopyCounter(const TCopyCounter& that) - : NumCopies(that.NumCopies) - { - ++*NumCopies; - } - - TCopyCounter& operator=(const TCopyCounter& that) { - NumCopies = that.NumCopies; - ++*NumCopies; - return *this; - } - - TCopyCounter(TCopyCounter&& that) = default; - - TCopyCounter& operator=(TCopyCounter&& that) = default; - - private: - size_t* NumCopies = nullptr; - }; - + class TCopyCounter { + public: + TCopyCounter(size_t* numCopies) + : NumCopies(numCopies) + {} + + TCopyCounter(const TCopyCounter& that) + : NumCopies(that.NumCopies) + { + ++*NumCopies; + } + + TCopyCounter& operator=(const TCopyCounter& that) { + NumCopies = that.NumCopies; + ++*NumCopies; + return *this; + } + + TCopyCounter(TCopyCounter&& that) = default; + + TCopyCounter& operator=(TCopyCounter&& that) = default; + + private: + size_t* NumCopies = nullptr; + }; + template auto MakePromise() { if constexpr (std::is_same_v) { @@ -582,59 +582,59 @@ namespace { TestFutureStateId(); TestFutureStateId(); } - - template - void TestApplyNoRvalueCopyImpl() { - size_t numCopies = 0; - TCopyCounter copyCounter(&numCopies); - - auto promise = MakePromise(); - - const auto future = promise.GetFuture().Apply( - [copyCounter = std::move(copyCounter)] (const auto&) {} - ); - - if constexpr (std::is_same_v) { - promise.SetValue(); - } else { - promise.SetValue(T()); - } - - future.GetValueSync(); - - UNIT_ASSERT_VALUES_EQUAL(numCopies, 0); - } - - Y_UNIT_TEST(ApplyNoRvalueCopy) { - TestApplyNoRvalueCopyImpl(); - TestApplyNoRvalueCopyImpl(); - } - - template - void TestApplyLvalueCopyImpl() { - size_t numCopies = 0; - TCopyCounter copyCounter(&numCopies); - - auto promise = MakePromise(); - - auto func = [copyCounter = std::move(copyCounter)] (const auto&) {}; - const auto future = promise.GetFuture().Apply(func); - - if constexpr (std::is_same_v) { - promise.SetValue(); - } else { - promise.SetValue(T()); - } - - future.GetValueSync(); - - UNIT_ASSERT_VALUES_EQUAL(numCopies, 1); - } - - Y_UNIT_TEST(ApplyLvalueCopy) { - TestApplyLvalueCopyImpl(); - TestApplyLvalueCopyImpl(); - } + + template + void TestApplyNoRvalueCopyImpl() { + size_t numCopies = 0; + TCopyCounter copyCounter(&numCopies); + + auto promise = MakePromise(); + + const auto future = promise.GetFuture().Apply( + [copyCounter = std::move(copyCounter)] (const auto&) {} + ); + + if constexpr (std::is_same_v) { + promise.SetValue(); + } else { + promise.SetValue(T()); + } + + future.GetValueSync(); + + UNIT_ASSERT_VALUES_EQUAL(numCopies, 0); + } + + Y_UNIT_TEST(ApplyNoRvalueCopy) { + TestApplyNoRvalueCopyImpl(); + TestApplyNoRvalueCopyImpl(); + } + + template + void TestApplyLvalueCopyImpl() { + size_t numCopies = 0; + TCopyCounter copyCounter(&numCopies); + + auto promise = MakePromise(); + + auto func = [copyCounter = std::move(copyCounter)] (const auto&) {}; + const auto future = promise.GetFuture().Apply(func); + + if constexpr (std::is_same_v) { + promise.SetValue(); + } else { + promise.SetValue(T()); + } + + future.GetValueSync(); + + UNIT_ASSERT_VALUES_EQUAL(numCopies, 1); + } + + Y_UNIT_TEST(ApplyLvalueCopy) { + TestApplyLvalueCopyImpl(); + TestApplyLvalueCopyImpl(); + } } } -- cgit v1.3