aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/ptr_ut.cpp
diff options
context:
space:
mode:
authorleo <leo@yandex-team.ru>2022-02-10 16:46:40 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:46:40 +0300
commit980edcd3304699edf9d4e4d6a656e585028e2a72 (patch)
tree139f47f3911484ae9af0eb347b1a88bd6c4bb35f /util/generic/ptr_ut.cpp
parentb036a557f285146e5e35d4213e29a094ab907bcf (diff)
downloadydb-980edcd3304699edf9d4e4d6a656e585028e2a72.tar.gz
Restoring authorship annotation for <leo@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'util/generic/ptr_ut.cpp')
-rw-r--r--util/generic/ptr_ut.cpp106
1 files changed, 53 insertions, 53 deletions
diff --git a/util/generic/ptr_ut.cpp b/util/generic/ptr_ut.cpp
index c2dcff23f6..0fdfb0d67e 100644
--- a/util/generic/ptr_ut.cpp
+++ b/util/generic/ptr_ut.cpp
@@ -293,76 +293,76 @@ void TPointerTest::TestCopyPtr() {
UNIT_ASSERT_VALUES_EQUAL(cnt, 0);
}
-
+
class TOp: public TSimpleRefCount<TOp>, public TNonCopyable {
-public:
- static int Cnt;
+public:
+ static int Cnt;
-public:
- TOp() {
- ++Cnt;
- }
+public:
+ TOp() {
+ ++Cnt;
+ }
virtual ~TOp() {
- --Cnt;
- }
-};
-
-int TOp::Cnt = 0;
-
+ --Cnt;
+ }
+};
+
+int TOp::Cnt = 0;
+
class TOp2: public TOp {
-public:
- TIntrusivePtr<TOp> Op;
-
-public:
- TOp2(const TIntrusivePtr<TOp>& op)
- : Op(op)
- {
- ++Cnt;
- }
+public:
+ TIntrusivePtr<TOp> Op;
+
+public:
+ TOp2(const TIntrusivePtr<TOp>& op)
+ : Op(op)
+ {
+ ++Cnt;
+ }
~TOp2() override {
- --Cnt;
- }
-};
-
-class TOp3 {
-public:
- TIntrusivePtr<TOp2> Op2;
-};
-
-void Attach(TOp3* op3, TIntrusivePtr<TOp>* op) {
- TIntrusivePtr<TOp2> op2 = new TOp2(*op);
- op3->Op2 = op2.Get();
- *op = op2.Get();
-}
-
+ --Cnt;
+ }
+};
+
+class TOp3 {
+public:
+ TIntrusivePtr<TOp2> Op2;
+};
+
+void Attach(TOp3* op3, TIntrusivePtr<TOp>* op) {
+ TIntrusivePtr<TOp2> op2 = new TOp2(*op);
+ op3->Op2 = op2.Get();
+ *op = op2.Get();
+}
+
void TPointerTest::TestIntrPtr() {
- {
- TIntrusivePtr<TOp> p, p2;
- TOp3 op3;
- {
+ {
+ TIntrusivePtr<TOp> p, p2;
+ TOp3 op3;
+ {
TVector<TIntrusivePtr<TOp>> f1;
- {
+ {
TVector<TIntrusivePtr<TOp>> f2;
- f2.push_back(new TOp);
- p = new TOp;
- f2.push_back(p);
- Attach(&op3, &f2[1]);
- f1 = f2;
+ f2.push_back(new TOp);
+ p = new TOp;
+ f2.push_back(p);
+ Attach(&op3, &f2[1]);
+ f1 = f2;
UNIT_ASSERT_VALUES_EQUAL(f1[0]->RefCount(), 2);
UNIT_ASSERT_VALUES_EQUAL(f1[1]->RefCount(), 3);
- UNIT_ASSERT_EQUAL(f1[1].Get(), op3.Op2.Get());
+ UNIT_ASSERT_EQUAL(f1[1].Get(), op3.Op2.Get());
UNIT_ASSERT_VALUES_EQUAL(op3.Op2->RefCount(), 3);
UNIT_ASSERT_VALUES_EQUAL(op3.Op2->Op->RefCount(), 2);
UNIT_ASSERT_VALUES_EQUAL(TOp::Cnt, 4);
- }
- p2 = p;
- }
+ }
+ p2 = p;
+ }
UNIT_ASSERT_VALUES_EQUAL(op3.Op2->RefCount(), 1);
UNIT_ASSERT_VALUES_EQUAL(op3.Op2->Op->RefCount(), 3);
UNIT_ASSERT_VALUES_EQUAL(TOp::Cnt, 3);
- }
+ }
UNIT_ASSERT_VALUES_EQUAL(TOp::Cnt, 0);
-}
+}
namespace NTestIntrusiveConvertion {
struct TA: public TSimpleRefCount<TA> {