Skip to content

Commit a39e6f8

Browse files
Issue #73 - Replace TAutoPtr to std::unique_ptr (#259)
1 parent a0f67ec commit a39e6f8

File tree

12 files changed

+56
-46
lines changed

12 files changed

+56
-46
lines changed

include/ydb-cpp-sdk/util/thread/pool.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <ydb-cpp-sdk/util/generic/noncopyable.h>
99

1010
#include <string>
11+
#include <memory>
1112

1213
class TDuration;
1314

@@ -386,4 +387,4 @@ inline void Delete(THolder<IThreadPool> q) {
386387
* Creates and starts TThreadPool if threadsCount > 1, or TFakeThreadPool otherwise
387388
* You could specify blocking and catching modes for TThreadPool only
388389
*/
389-
THolder<IThreadPool> CreateThreadPool(size_t threadCount, size_t queueSizeLimit = 0, const IThreadPool::TParams& params = {});
390+
std::unique_ptr<IThreadPool> CreateThreadPool(size_t threadCount, size_t queueSizeLimit = 0, const IThreadPool::TParams& params = {});

src/library/dbg_output/dumpers.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#include <list>
88
#include <map>
9+
#include <memory>
910
#include <set>
1011
#include <span>
1112
#include <string>
@@ -17,10 +18,10 @@
1718

1819
//smart pointers
1920
template <class T, class D>
20-
struct TDumper<TAutoPtr<T, D>> {
21+
struct TDumper<std::unique_ptr<T, D>> {
2122
template <class S>
22-
static inline void Dump(S& s, const TAutoPtr<T, D>& v) {
23-
s << DumpRaw("TAutoPtr(") << v.Get() << DumpRaw(")");
23+
static inline void Dump(S& s, const std::unique_ptr<T, D>& v) {
24+
s << DumpRaw("std::unique_ptr(") << v.get() << DumpRaw(")");
2425
}
2526
};
2627

src/library/getopt/small/last_getopt_opt.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -608,13 +608,13 @@ namespace NLastGetopt {
608608
return Handler1(f);
609609
}
610610

611-
TOpt& Handler(TAutoPtr<IOptHandler> handler) {
612-
return HandlerImpl(handler.Release());
611+
TOpt& Handler(std::unique_ptr<IOptHandler>&& handler) {
612+
return HandlerImpl(handler.release());
613613
}
614614

615615
template <typename T> // T extends IOptHandler
616-
TOpt& Handler(TAutoPtr<T> handler) {
617-
return HandlerImpl(handler.Release());
616+
TOpt& Handler(std::unique_ptr<T>&& handler) {
617+
return HandlerImpl(handler.release());
618618
}
619619

620620
// Stores FromString<T>(arg) in *target

src/library/http/server/http.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#include <cerrno>
2121
#include <cstring>
22+
#include <memory>
2223
#include <mutex>
2324

2425
using namespace NAddr;
@@ -169,10 +170,10 @@ class THttpServer::TImpl {
169170
const THttpServerOptions& Options;
170171
};
171172

172-
TAutoPtr<TClientRequest> CreateRequest(TAutoPtr<TClientConnection> c) {
173-
THolder<TClientRequest> obj(Cb_->CreateClient());
173+
std::unique_ptr<TClientRequest> CreateRequest(std::unique_ptr<TClientConnection>&& c) {
174+
std::unique_ptr<TClientRequest> obj(Cb_->CreateClient());
174175

175-
obj->Conn_.Reset(c.Release());
176+
obj->Conn_.Reset(c.release());
176177

177178
return obj;
178179
}
@@ -287,9 +288,9 @@ class THttpServer::TImpl {
287288
// ignore result
288289
}
289290

290-
void AddRequest(TAutoPtr<TClientRequest> req, bool fail) {
291+
void AddRequest(std::unique_ptr<TClientRequest>&& req, bool fail) {
291292
struct TFailRequest: public THttpClientRequestEx {
292-
inline TFailRequest(TAutoPtr<TClientRequest> parent) {
293+
inline TFailRequest(std::unique_ptr<TClientRequest>&& parent) {
293294
Conn_.Reset(parent->Conn_.Release());
294295
HttpConn_.Reset(parent->HttpConn_.Release());
295296
}
@@ -304,13 +305,13 @@ class THttpServer::TImpl {
304305
}
305306
};
306307

307-
if (!fail && Requests->Add(req.Get())) {
308-
Y_UNUSED(req.Release());
308+
if (!fail && Requests->Add(req.get())) {
309+
Y_UNUSED(req.release());
309310
} else {
310-
req = new TFailRequest(req);
311+
req = std::make_unique<TFailRequest>(std::move(req));
311312

312-
if (FailRequests->Add(req.Get())) {
313-
Y_UNUSED(req.Release());
313+
if (FailRequests->Add(req.get())) {
314+
Y_UNUSED(req.release());
314315
} else {
315316
Cb_->OnFailRequest(-1);
316317
}
@@ -620,7 +621,7 @@ void TClientConnection::ScheduleDelete() {
620621
}
621622

622623
void TClientConnection::OnPollEvent(TInstant now) {
623-
THolder<TClientConnection> this_(this);
624+
std::unique_ptr<TClientConnection> this_(this);
624625
Activate(now);
625626

626627
{
@@ -637,10 +638,10 @@ void TClientConnection::OnPollEvent(TInstant now) {
637638
}
638639
}
639640

640-
THolder<TClientRequest> obj(HttpServ_->CreateRequest(this_));
641+
std::unique_ptr<TClientRequest> obj = HttpServ_->CreateRequest(std::move(this_));
641642
AcceptMoment = now;
642643

643-
HttpServ_->AddRequest(obj, Reject_);
644+
HttpServ_->AddRequest(std::move(obj), Reject_);
644645
}
645646

646647
void TClientConnection::Activate(TInstant now) noexcept {

src/library/openssl/init/init.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include <openssl/conf.h>
1919
#include <openssl/crypto.h>
2020
#include <mutex>
21+
#include <memory>
2122
#include <vector>
2223

2324
namespace {
@@ -27,7 +28,7 @@ namespace {
2728
: Mutexes(CRYPTO_num_locks())
2829
{
2930
for (auto& mpref : Mutexes) {
30-
mpref.Reset(new std::mutex());
31+
mpref = std::make_unique<std::mutex>();
3132
}
3233
}
3334

@@ -41,7 +42,7 @@ namespace {
4142
}
4243
}
4344

44-
std::vector<TAutoPtr<std::mutex>> Mutexes;
45+
std::vector<std::unique_ptr<std::mutex>> Mutexes;
4546
};
4647

4748
inline TInitSsl() {

src/library/streams/lz/lz.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
#include <src/library/streams/lz/lz4/lz4.h>
1111
#include <src/library/streams/lz/snappy/snappy.h>
1212

13+
#include <memory>
14+
1315
/**
1416
* @file
1517
*
@@ -159,10 +161,10 @@ class TLzqDecompress: public IInputStream {
159161
* @param input Stream to decompress.
160162
* @return Decompressing proxy input stream.
161163
*/
162-
TAutoPtr<IInputStream> OpenLzDecompressor(IInputStream* input);
163-
TAutoPtr<IInputStream> TryOpenLzDecompressor(IInputStream* input);
164-
TAutoPtr<IInputStream> TryOpenLzDecompressor(const std::string_view& signature, IInputStream* input);
164+
std::unique_ptr<IInputStream> OpenLzDecompressor(IInputStream* input);
165+
std::unique_ptr<IInputStream> TryOpenLzDecompressor(IInputStream* input);
166+
std::unique_ptr<IInputStream> TryOpenLzDecompressor(const std::string_view& signature, IInputStream* input);
165167

166-
TAutoPtr<IInputStream> OpenOwnedLzDecompressor(TAutoPtr<IInputStream> input);
167-
TAutoPtr<IInputStream> TryOpenOwnedLzDecompressor(TAutoPtr<IInputStream> input);
168-
TAutoPtr<IInputStream> TryOpenOwnedLzDecompressor(const std::string_view& signature, TAutoPtr<IInputStream> input);
168+
std::unique_ptr<IInputStream> OpenOwnedLzDecompressor(std::unique_ptr<IInputStream>&& input);
169+
std::unique_ptr<IInputStream> TryOpenOwnedLzDecompressor(std::unique_ptr<IInputStream>&& input);
170+
std::unique_ptr<IInputStream> TryOpenOwnedLzDecompressor(const std::string_view& signature, std::unique_ptr<IInputStream>&& input);

src/library/testing/unittest/gtest.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
#include <ydb-cpp-sdk/util/system/type_name.h>
55

6+
#include <memory>
7+
68
using namespace NUnitTest;
79
using namespace NUnitTest::NPrivate;
810

@@ -53,13 +55,13 @@ namespace {
5355
}
5456

5557
IGTestFactory* NUnitTest::NPrivate::ByName(const char* name) {
56-
static std::map<std::string_view, TAutoPtr<TGTestFactory>> tests;
58+
static std::map<std::string_view, std::unique_ptr<TGTestFactory>> tests;
5759

5860
auto& ret = tests[name];
5961

6062
if (!ret) {
61-
ret = new TGTestFactory(name);
63+
ret = std::make_unique<TGTestFactory>(name);
6264
}
6365

64-
return ret.Get();
66+
return ret.get();
6567
}

src/library/testing/unittest/utmain.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ class TTraceWriterProcessor: public ITestSuiteProcessor {
129129
inline TTraceWriterProcessor(const char* traceFilePath, EOpenMode mode)
130130
: PrevTime(TInstant::Now())
131131
{
132-
TraceFile = new TUnbufferedFileOutput(TFile(traceFilePath, mode | WrOnly | Seq));
132+
TraceFile = std::make_unique<TUnbufferedFileOutput>(TFile(traceFilePath, mode | WrOnly | Seq));
133133
}
134134

135135
private:
136-
TAutoPtr<TUnbufferedFileOutput> TraceFile;
136+
std::unique_ptr<TUnbufferedFileOutput> TraceFile;
137137
std::string TraceFilePath;
138138
TInstant PrevTime;
139139
std::vector<std::string> ErrorMessages;
@@ -148,7 +148,7 @@ class TTraceWriterProcessor: public ITestSuiteProcessor {
148148

149149
json.EndObject();
150150

151-
json.FlushTo(TraceFile.Get());
151+
json.FlushTo(TraceFile.get());
152152
*TraceFile << "\n";
153153
}
154154

src/library/threading/chunk_queue/queue.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <ydb-cpp-sdk/util/system/yassert.h>
1414

1515
#include <mutex>
16+
#include <memory>
1617
#include <type_traits>
1718
#include <utility>
1819

@@ -522,21 +523,21 @@ namespace NThreading {
522523
TImpl Impl;
523524

524525
public:
525-
using TItem = TAutoPtr<T>;
526+
using TItem = std::unique_ptr<T>;
526527

527528
~TAutoQueueBase() {
528-
TAutoPtr<T> value;
529+
std::unique_ptr<T> value;
529530
while (Dequeue(value)) {
530531
// do nothing
531532
}
532533
}
533534

534-
void Enqueue(TAutoPtr<T> value) {
535+
void Enqueue(std::unique_ptr<T>&& value) {
535536
Impl.Enqueue(value.Get());
536537
Y_UNUSED(value.Release());
537538
}
538539

539-
bool Dequeue(TAutoPtr<T>& value) {
540+
bool Dequeue(std::unique_ptr<T>&& value) {
540541
T* ptr = nullptr;
541542
if (Impl.Dequeue(ptr)) {
542543
value.Reset(ptr);

src/library/threading/equeue/equeue_ut.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include <ydb-cpp-sdk/util/system/event.h>
77
#include <ydb-cpp-sdk/util/datetime/base.h>
88

9+
#include <memory>
910

1011
Y_UNIT_TEST_SUITE(TElasticQueueTest) {
1112
const size_t MaxQueueSize = 20;
@@ -139,7 +140,7 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
139140
{
140141
typename TEnv<T>::TQueueSetup setup;
141142

142-
std::vector< TAutoPtr<IThreadFactory::IThread> > senders;
143+
std::vector< std::unique_ptr<IThreadFactory::IThread> > senders;
143144
for (size_t i = 0; i < ThreadCount; ++i) {
144145
senders.push_back(::SystemThreadFactory()->Run(&sender));
145146
}

src/library/threading/poor_man_openmp/thread_helper.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TMtpQueueHelper {
1818
SetThreadCount(NSystemInfo::CachedNumberOfCpus());
1919
}
2020
IThreadPool* Get() {
21-
return q.Get();
21+
return q.get();
2222
}
2323
size_t GetThreadCount() {
2424
return ThreadCount;
@@ -32,7 +32,7 @@ class TMtpQueueHelper {
3232

3333
private:
3434
size_t ThreadCount;
35-
TAutoPtr<IThreadPool> q;
35+
std::unique_ptr<IThreadPool> q;
3636
};
3737

3838
namespace NYmp {

src/util/thread/pool.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -767,12 +767,12 @@ IThread* IThreadPool::DoCreate() {
767767
return new TPoolThread(this);
768768
}
769769

770-
THolder<IThreadPool> CreateThreadPool(size_t threadsCount, size_t queueSizeLimit, const TThreadPoolParams& params) {
771-
THolder<IThreadPool> queue;
770+
std::unique_ptr<IThreadPool> CreateThreadPool(size_t threadsCount, size_t queueSizeLimit, const TThreadPoolParams& params) {
771+
std::unique_ptr<IThreadPool> queue;
772772
if (threadsCount > 1) {
773-
queue.Reset(new TThreadPool(params));
773+
queue = std::make_unique<TThreadPool>(params);
774774
} else {
775-
queue.Reset(new TFakeThreadPool());
775+
queue = std::make_unique<TFakeThreadPool>();
776776
}
777777
queue->Start(threadsCount, queueSizeLimit);
778778
return queue;

0 commit comments

Comments
 (0)