diff --git a/include/ydb-cpp-sdk/util/thread/pool.h b/include/ydb-cpp-sdk/util/thread/pool.h index 1e83d8e6ee..ce933a462c 100644 --- a/include/ydb-cpp-sdk/util/thread/pool.h +++ b/include/ydb-cpp-sdk/util/thread/pool.h @@ -8,6 +8,7 @@ #include #include +#include class TDuration; @@ -386,4 +387,4 @@ inline void Delete(THolder q) { * Creates and starts TThreadPool if threadsCount > 1, or TFakeThreadPool otherwise * You could specify blocking and catching modes for TThreadPool only */ -THolder CreateThreadPool(size_t threadCount, size_t queueSizeLimit = 0, const IThreadPool::TParams& params = {}); +std::unique_ptr CreateThreadPool(size_t threadCount, size_t queueSizeLimit = 0, const IThreadPool::TParams& params = {}); diff --git a/src/library/dbg_output/dumpers.h b/src/library/dbg_output/dumpers.h index bf9e410ed6..93fd543d41 100644 --- a/src/library/dbg_output/dumpers.h +++ b/src/library/dbg_output/dumpers.h @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -15,10 +16,10 @@ //smart pointers template -struct TDumper> { +struct TDumper> { template - static inline void Dump(S& s, const TAutoPtr& v) { - s << DumpRaw("TAutoPtr(") << v.Get() << DumpRaw(")"); + static inline void Dump(S& s, const std::unique_ptr& v) { + s << DumpRaw("std::unique_ptr(") << v.get() << DumpRaw(")"); } }; diff --git a/src/library/getopt/small/last_getopt_opt.h b/src/library/getopt/small/last_getopt_opt.h index 848eccb2ed..74be6a1769 100644 --- a/src/library/getopt/small/last_getopt_opt.h +++ b/src/library/getopt/small/last_getopt_opt.h @@ -12,6 +12,7 @@ #include #include #include +#include namespace NLastGetopt { enum EHasArg { @@ -607,13 +608,13 @@ namespace NLastGetopt { return Handler1(f); } - TOpt& Handler(TAutoPtr handler) { - return HandlerImpl(handler.Release()); + TOpt& Handler(std::unique_ptr&& handler) { + return HandlerImpl(handler.release()); } template // T extends IOptHandler - TOpt& Handler(TAutoPtr handler) { - return HandlerImpl(handler.Release()); + TOpt& Handler(std::unique_ptr&& handler) { + return HandlerImpl(handler.release()); } // Stores FromString(arg) in *target diff --git a/src/library/http/server/http.cpp b/src/library/http/server/http.cpp index 528c348025..6fb8292c27 100644 --- a/src/library/http/server/http.cpp +++ b/src/library/http/server/http.cpp @@ -19,6 +19,7 @@ #include #include +#include #include using namespace NAddr; @@ -169,10 +170,10 @@ class THttpServer::TImpl { const THttpServerOptions& Options; }; - TAutoPtr CreateRequest(TAutoPtr c) { - THolder obj(Cb_->CreateClient()); + std::unique_ptr CreateRequest(std::unique_ptr&& c) { + std::unique_ptr obj(Cb_->CreateClient()); - obj->Conn_.Reset(c.Release()); + obj->Conn_.Reset(c.release()); return obj; } @@ -287,9 +288,9 @@ class THttpServer::TImpl { // ignore result } - void AddRequest(TAutoPtr req, bool fail) { + void AddRequest(std::unique_ptr&& req, bool fail) { struct TFailRequest: public THttpClientRequestEx { - inline TFailRequest(TAutoPtr parent) { + inline TFailRequest(std::unique_ptr&& parent) { Conn_.Reset(parent->Conn_.Release()); HttpConn_.Reset(parent->HttpConn_.Release()); } @@ -304,13 +305,13 @@ class THttpServer::TImpl { } }; - if (!fail && Requests->Add(req.Get())) { - Y_UNUSED(req.Release()); + if (!fail && Requests->Add(req.get())) { + Y_UNUSED(req.release()); } else { - req = new TFailRequest(req); + req = std::make_unique(std::move(req)); - if (FailRequests->Add(req.Get())) { - Y_UNUSED(req.Release()); + if (FailRequests->Add(req.get())) { + Y_UNUSED(req.release()); } else { Cb_->OnFailRequest(-1); } @@ -620,7 +621,7 @@ void TClientConnection::ScheduleDelete() { } void TClientConnection::OnPollEvent(TInstant now) { - THolder this_(this); + std::unique_ptr this_(this); Activate(now); { @@ -637,10 +638,10 @@ void TClientConnection::OnPollEvent(TInstant now) { } } - THolder obj(HttpServ_->CreateRequest(this_)); + std::unique_ptr obj = HttpServ_->CreateRequest(std::move(this_)); AcceptMoment = now; - HttpServ_->AddRequest(obj, Reject_); + HttpServ_->AddRequest(std::move(obj), Reject_); } void TClientConnection::Activate(TInstant now) noexcept { diff --git a/src/library/openssl/init/init.cpp b/src/library/openssl/init/init.cpp index 2395720e83..33cdf5d89e 100644 --- a/src/library/openssl/init/init.cpp +++ b/src/library/openssl/init/init.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include namespace { @@ -27,7 +28,7 @@ namespace { : Mutexes(CRYPTO_num_locks()) { for (auto& mpref : Mutexes) { - mpref.Reset(new std::mutex()); + mpref = std::make_unique(); } } @@ -41,7 +42,7 @@ namespace { } } - std::vector> Mutexes; + std::vector> Mutexes; }; inline TInitSsl() { diff --git a/src/library/streams/lz/lz.h b/src/library/streams/lz/lz.h index 10be1da270..a5815f4134 100644 --- a/src/library/streams/lz/lz.h +++ b/src/library/streams/lz/lz.h @@ -10,6 +10,8 @@ #include #include +#include + /** * @file * @@ -159,10 +161,10 @@ class TLzqDecompress: public IInputStream { * @param input Stream to decompress. * @return Decompressing proxy input stream. */ -TAutoPtr OpenLzDecompressor(IInputStream* input); -TAutoPtr TryOpenLzDecompressor(IInputStream* input); -TAutoPtr TryOpenLzDecompressor(const std::string_view& signature, IInputStream* input); +std::unique_ptr OpenLzDecompressor(IInputStream* input); +std::unique_ptr TryOpenLzDecompressor(IInputStream* input); +std::unique_ptr TryOpenLzDecompressor(const std::string_view& signature, IInputStream* input); -TAutoPtr OpenOwnedLzDecompressor(TAutoPtr input); -TAutoPtr TryOpenOwnedLzDecompressor(TAutoPtr input); -TAutoPtr TryOpenOwnedLzDecompressor(const std::string_view& signature, TAutoPtr input); +std::unique_ptr OpenOwnedLzDecompressor(std::unique_ptr&& input); +std::unique_ptr TryOpenOwnedLzDecompressor(std::unique_ptr&& input); +std::unique_ptr TryOpenOwnedLzDecompressor(const std::string_view& signature, std::unique_ptr&& input); diff --git a/src/library/testing/unittest/gtest.cpp b/src/library/testing/unittest/gtest.cpp index 1fb11bb494..404a771c71 100644 --- a/src/library/testing/unittest/gtest.cpp +++ b/src/library/testing/unittest/gtest.cpp @@ -3,6 +3,8 @@ #include +#include + using namespace NUnitTest; using namespace NUnitTest::NPrivate; @@ -53,13 +55,13 @@ namespace { } IGTestFactory* NUnitTest::NPrivate::ByName(const char* name) { - static std::map> tests; + static std::map> tests; auto& ret = tests[name]; if (!ret) { - ret = new TGTestFactory(name); + ret = std::make_unique(name); } - return ret.Get(); + return ret.get(); } diff --git a/src/library/testing/unittest/utmain.cpp b/src/library/testing/unittest/utmain.cpp index 376682f412..cfdbd72af5 100644 --- a/src/library/testing/unittest/utmain.cpp +++ b/src/library/testing/unittest/utmain.cpp @@ -129,11 +129,11 @@ class TTraceWriterProcessor: public ITestSuiteProcessor { inline TTraceWriterProcessor(const char* traceFilePath, EOpenMode mode) : PrevTime(TInstant::Now()) { - TraceFile = new TUnbufferedFileOutput(TFile(traceFilePath, mode | WrOnly | Seq)); + TraceFile = std::make_unique(TFile(traceFilePath, mode | WrOnly | Seq)); } private: - TAutoPtr TraceFile; + std::unique_ptr TraceFile; std::string TraceFilePath; TInstant PrevTime; std::vector ErrorMessages; @@ -148,7 +148,7 @@ class TTraceWriterProcessor: public ITestSuiteProcessor { json.EndObject(); - json.FlushTo(TraceFile.Get()); + json.FlushTo(TraceFile.get()); *TraceFile << "\n"; } diff --git a/src/library/threading/chunk_queue/queue.h b/src/library/threading/chunk_queue/queue.h index 3e5c74bff3..893bcab399 100644 --- a/src/library/threading/chunk_queue/queue.h +++ b/src/library/threading/chunk_queue/queue.h @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -522,21 +523,21 @@ namespace NThreading { TImpl Impl; public: - using TItem = TAutoPtr; + using TItem = std::unique_ptr; ~TAutoQueueBase() { - TAutoPtr value; + std::unique_ptr value; while (Dequeue(value)) { // do nothing } } - void Enqueue(TAutoPtr value) { + void Enqueue(std::unique_ptr&& value) { Impl.Enqueue(value.Get()); Y_UNUSED(value.Release()); } - bool Dequeue(TAutoPtr& value) { + bool Dequeue(std::unique_ptr&& value) { T* ptr = nullptr; if (Impl.Dequeue(ptr)) { value.Reset(ptr); diff --git a/src/library/threading/equeue/equeue_ut.cpp b/src/library/threading/equeue/equeue_ut.cpp index 6ebe27c244..4853163784 100644 --- a/src/library/threading/equeue/equeue_ut.cpp +++ b/src/library/threading/equeue/equeue_ut.cpp @@ -6,6 +6,7 @@ #include #include +#include Y_UNIT_TEST_SUITE(TElasticQueueTest) { const size_t MaxQueueSize = 20; @@ -139,7 +140,7 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) { { typename TEnv::TQueueSetup setup; - std::vector< TAutoPtr > senders; + std::vector< std::unique_ptr > senders; for (size_t i = 0; i < ThreadCount; ++i) { senders.push_back(::SystemThreadFactory()->Run(&sender)); } diff --git a/src/library/threading/poor_man_openmp/thread_helper.h b/src/library/threading/poor_man_openmp/thread_helper.h index f0bb5cccbe..6ea6f484f4 100644 --- a/src/library/threading/poor_man_openmp/thread_helper.h +++ b/src/library/threading/poor_man_openmp/thread_helper.h @@ -18,7 +18,7 @@ class TMtpQueueHelper { SetThreadCount(NSystemInfo::CachedNumberOfCpus()); } IThreadPool* Get() { - return q.Get(); + return q.get(); } size_t GetThreadCount() { return ThreadCount; @@ -32,7 +32,7 @@ class TMtpQueueHelper { private: size_t ThreadCount; - TAutoPtr q; + std::unique_ptr q; }; namespace NYmp { diff --git a/src/util/thread/pool.cpp b/src/util/thread/pool.cpp index 8723593796..96594436bf 100644 --- a/src/util/thread/pool.cpp +++ b/src/util/thread/pool.cpp @@ -767,12 +767,12 @@ IThread* IThreadPool::DoCreate() { return new TPoolThread(this); } -THolder CreateThreadPool(size_t threadsCount, size_t queueSizeLimit, const TThreadPoolParams& params) { - THolder queue; +std::unique_ptr CreateThreadPool(size_t threadsCount, size_t queueSizeLimit, const TThreadPoolParams& params) { + std::unique_ptr queue; if (threadsCount > 1) { - queue.Reset(new TThreadPool(params)); + queue = std::make_unique(params); } else { - queue.Reset(new TFakeThreadPool()); + queue = std::make_unique(); } queue->Start(threadsCount, queueSizeLimit); return queue;