diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-09-13 00:49:08 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-09-13 00:49:08 +0900 |
| commit | f55c16c7edeb319a82217a91a87a35cddfd606b0 (patch) | |
| tree | 0973b217496afba7762ea103621ca133c80853c1 /src/DHTBucketTree.h | |
| parent | e18e8aeeaa2c24591b0ebb89984cbdc30a0f25a8 (diff) | |
Use std::unique_ptr for DHTBucketTree's left and right pointers
Diffstat (limited to 'src/DHTBucketTree.h')
| -rw-r--r-- | src/DHTBucketTree.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/DHTBucketTree.h b/src/DHTBucketTree.h index 96059bd5..b63793d6 100644 --- a/src/DHTBucketTree.h +++ b/src/DHTBucketTree.h @@ -53,9 +53,10 @@ class DHTNode; class DHTBucketTreeNode { public: // Ctor for internal node - DHTBucketTreeNode(DHTBucketTreeNode* left, DHTBucketTreeNode* right); + DHTBucketTreeNode(std::unique_ptr<DHTBucketTreeNode> left, + std::unique_ptr<DHTBucketTreeNode> right); // Ctor for leaf node - DHTBucketTreeNode(const std::shared_ptr<DHTBucket>& bucket); + DHTBucketTreeNode(std::shared_ptr<DHTBucket> bucket); ~DHTBucketTreeNode(); // Returns child node, left or right, which contains key. If dig is // called against leaf node, then returns 0. @@ -66,8 +67,8 @@ public: const unsigned char* getMaxId() const { return maxId_; } const unsigned char* getMinId() const { return minId_; } DHTBucketTreeNode* getParent() const { return parent_; } - DHTBucketTreeNode* getLeft() const { return left_; } - DHTBucketTreeNode* getRight() const { return right_; } + DHTBucketTreeNode* getLeft() const { return left_.get(); } + DHTBucketTreeNode* getRight() const { return right_.get(); } const std::shared_ptr<DHTBucket>& getBucket() const { return bucket_; } // Splits this object's bucket using DHTBucket::split() and create // left and right child node to hold buckets. The bucket of current @@ -83,8 +84,8 @@ private: void resetRelation(); void setParent(DHTBucketTreeNode* parent) { parent_ = parent; } DHTBucketTreeNode* parent_; - DHTBucketTreeNode* left_; - DHTBucketTreeNode* right_; + std::unique_ptr<DHTBucketTreeNode> left_; + std::unique_ptr<DHTBucketTreeNode> right_; std::shared_ptr<DHTBucket> bucket_; unsigned char minId_[DHT_ID_LENGTH]; unsigned char maxId_[DHT_ID_LENGTH]; |
