Browse Source

cmLinkedTree: Add operator* to the iterator.

Stephen Kelly 10 years ago
parent
commit
27ff19a96a
1 changed files with 18 additions and 0 deletions
  1. 18 0
      Source/cmLinkedTree.h

+ 18 - 0
Source/cmLinkedTree.h

@@ -87,6 +87,24 @@ public:
       return this->Tree->GetPointer(this->Position - 1);
       return this->Tree->GetPointer(this->Position - 1);
     }
     }
 
 
+    ReferenceType operator*() const
+    {
+      assert(this->Tree);
+      assert(this->Tree->UpPositions.size() == this->Tree->Data.size());
+      assert(this->Position <= this->Tree->Data.size());
+      assert(this->Position > 0);
+      return this->Tree->GetReference(this->Position - 1);
+    }
+
+    ReferenceType operator*()
+    {
+      assert(this->Tree);
+      assert(this->Tree->UpPositions.size() == this->Tree->Data.size());
+      assert(this->Position <= this->Tree->Data.size());
+      assert(this->Position > 0);
+      return this->Tree->GetReference(this->Position - 1);
+    }
+
     bool operator==(iterator other) const
     bool operator==(iterator other) const
     {
     {
       assert(this->Tree);
       assert(this->Tree);