Hauptseite   Klassenhierarchie   Übersicht   Auflistung der Dateien   Datenstruktur-Elemente   Datei-Elemente  

data_queue.h

gehe zur Dokumentation dieser Datei
00001 
00014 #ifndef __DATA_QUEUE_H__
00015 #define __DATA_QUEUE_H__
00016 
00017 #include <data_holder.h>
00018 
00024 template <class ItemType> class DataQueue : protected DataHolder<ItemType> {
00025  public:
00030   DataQueue(unsigned long size) throw (NotEnoughMemoryException) 
00031       : DataHolder<ItemType>(size), first(0) {
00032   }
00033 
00039   inline ItemType get() {
00040     assert (!isEmpty());
00041     
00042     ItemType retVal= pool[first];
00043     first= (first + 1) % getSize();
00044     return retVal;
00045   }
00046   
00051   inline bool isEmpty() {
00052     return first == last;
00053   }
00054 
00060   inline bool isFull() {
00061     return ((last + 1) % getSize()) == first;
00062   }
00063 
00064  private:  
00068   unsigned long first;
00069  
00070 };
00071 
00072 #endif // ! __DATA_QUEUE_H__

Erzeugt am Fri Mar 14 19:44:50 2003 für cad2octree von doxygen1.2.16