0024911: Avoid using virtual functions in NCollection classes
[occt.git] / src / NCollection / NCollection_TListIterator.hxx
old mode 100755 (executable)
new mode 100644 (file)
index e5b0964..b2e548d
@@ -1,29 +1,31 @@
-// File:        NCollection_TListIterator.hxx
-// Created:     Tue Apr 23 17:33:02 2002
-// Author:      Alexander KARTOMIN
-//              <a-kartomin@opencascade.com>
+// Created on: 2002-04-23
+// Created by: Alexander KARTOMIN
+// Copyright (c) 2002-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
 
 #ifndef NCollection_TListIterator_HeaderFile
 #define NCollection_TListIterator_HeaderFile
 
-#include <NCollection_BaseCollection.hxx>
 #include <NCollection_BaseList.hxx>
 #include <NCollection_TListNode.hxx>
 
-#ifdef WNT
-// Disable the warning "operator new unmatched by delete"
-#pragma warning (push)
-#pragma warning (disable:4291)
-#endif
-
 /**
  * Purpose:     This Iterator class iterates on BaseList of TListNode and is 
  *              instantiated in List/Set/Queue/Stack
  * Remark:      TListIterator is internal class
  */
 template <class TheItemType> class NCollection_TListIterator 
-  : public NCollection_BaseCollection<TheItemType>::Iterator,
-    public NCollection_BaseList::Iterator
+  : public NCollection_BaseList::Iterator
 {
  public:
   //! Empty constructor - for later Init
@@ -32,36 +34,21 @@ template <class TheItemType> class NCollection_TListIterator
   //! Constructor with initialisation
   NCollection_TListIterator  (const NCollection_BaseList& theList) :
     NCollection_BaseList::Iterator (theList) {}
-  //! Assignment
-  NCollection_TListIterator& operator= (const NCollection_TListIterator& theIt)
-  {
-    NCollection_BaseList::Iterator& me = * this;
-    me.operator= (theIt);
-    return * this;
-  }
   //! Check end
-  virtual Standard_Boolean More (void) const
+  Standard_Boolean More (void) const
   { return (myCurrent!=NULL); }
   //! Make step
-  virtual void Next (void)
+  void Next (void)
   {
     myPrevious = myCurrent;
     myCurrent = myCurrent->Next();
   }
   //! Constant Value access
-  virtual const TheItemType& Value (void) const
+  const TheItemType& Value (void) const
   { return ((const NCollection_TListNode<TheItemType>*) myCurrent)->Value(); }
   //! Variable Value access
-  virtual TheItemType& ChangeValue (void) const
+  TheItemType& ChangeValue (void) const
   { return ((NCollection_TListNode<TheItemType> *)myCurrent)->ChangeValue(); }
-  //! Operator new for allocating iterators
-  void* operator new(size_t theSize,
-                     const Handle(NCollection_BaseAllocator)& theAllocator) 
-  { return theAllocator->Allocate(theSize); }
 };
 
-#ifdef WNT
-#pragma warning (pop)
-#endif
-
 #endif