Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

vtkObjectBaseQueue.h

Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *
00003  * $Id: vtkObjectBaseQueue.h,v 1.3 2005/06/24 23:17:16 xpxqx Exp $
00004  *
00005  * Copyright (c) 2005 Sean McInerney
00006  * All rights reserved.
00007  *
00008  * See Copyright.txt or http://vtkcontainers.sourceforge.net/Copyright.html
00009  * for details.
00010  *
00011  *    This software is distributed WITHOUT ANY WARRANTY; without even 
00012  *    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013  *    PURPOSE.  See the above copyright notice for more information.
00014  *
00015  */
00016 #ifndef VTK_OBJECT_BASE_QUEUE_H_
00017 #  define VTK_OBJECT_BASE_QUEUE_H_
00018 #  include "vtkAdaptorContainer.h"
00019 
00020 class vtkObjectBaseQueueInternal;
00021 
00043 class VTK_CONTAINERS_EXPORT vtkObjectBaseQueue
00044   : public vtkAdaptorContainer
00045 {
00046 public:
00047   static vtkObjectBaseQueue* New (void);
00048   vtkTypeRevisionMacro (vtkObjectBaseQueue, vtkAdaptorContainer);
00049   void PrintSelf (ostream&, vtkIndent);
00050 
00051   virtual vtkIdType     GetSize (void) const;
00052   virtual int           IsEmpty (void) const;
00053   virtual vtkIdType     GetMaxSize (void) const;
00054   virtual int           Clear (void);
00055 
00060   virtual int           Swap (vtkObjectBaseQueue* container);
00061 
00066   virtual int           Copy (vtkObjectBaseQueue* container);
00067 
00076   virtual int                   Push (vtkObjectBase* item);
00077 
00085   int                           Pop (void);
00096   virtual vtkObjectBase*        At (vtkIdType position) const;
00105   vtkObjectBase*                Front (void) const;
00106 
00111   vtkObjectBase*                Back (void) const;
00114 protected:
00115   vtkObjectBaseQueue (void);
00116   ~vtkObjectBaseQueue();
00117 
00118   void  ReportReferences (vtkGarbageCollector*);
00119 
00120 private:
00121   //BTX
00122   vtkObjectBaseQueueInternal* Internal;
00123 
00126   int Swap (vtkAdaptorContainer* a)
00127     { return this->Swap(static_cast<vtkObjectBaseQueue*>(a)); }
00128   int Copy (vtkAdaptorContainer* a)
00129     { return this->Copy(static_cast<vtkObjectBaseQueue*>(a)); }
00131   //ETX
00132 
00133 private:
00139   vtkObjectBaseQueue (const vtkObjectBaseQueue&);
00140   void operator= (const vtkObjectBaseQueue&);
00142 };
00143 
00144 #endif /* VTK_OBJECT_BASE_QUEUE_H_ */
00145 /* 
00146  * End of: $Id: vtkObjectBaseQueue.h,v 1.3 2005/06/24 23:17:16 xpxqx Exp $.
00147  * 
00148  */

Generated on Thu Jul 14 14:39:38 2005 for vtkContainers by doxygen 1.3.6