You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.0 KiB
HTML
47 lines
2.0 KiB
HTML
<!menue>
|
|
|
|
<!h1=dequeue die Pufferklasse>
|
|
Der Einsatz dieser Queue ist überall dort gefragt wenn es Universell, schnell zuverlässig und einfach zu Handhaben sein soll.
|
|
In der L3lib wird diese Queue eingesetzt wenn an beiden Enden der Queue Daten ein und ausgefügt werden sollen.
|
|
Einsatzbereich: Ein, Ausgabe Pufferung, Netzwerkpakete etc.
|
|
|
|
Wie alle L3Lib Queues ist diese Queue als TemplateKlasse ausgelegt, komplett inline ausgeführt und verwaltet die Zeiger auf die Objekte.
|
|
|
|
<!h2a=dequeue(),dequeue Konstrukor,dequeue()>
|
|
dequeue<T>::dequeue();
|
|
Es wird noch kein Speicher allokiert. Der Konstruktor initialisiert lediglich 4 Integer.
|
|
|
|
<!h2a=~dequeue(),~dequeue Destructor,~dequeue()>
|
|
dequeue<T>::dequeue();
|
|
Gibt Speicher der queue frei, ohne die Objekte zu löschen.
|
|
Um auch die Objekte zu löschen ist folgender Code sinnvoll:
|
|
<pre>
|
|
while( T = m_fruitobjects.Get() ) delete T;
|
|
</pre>
|
|
|
|
<!h2a=dequeue.func,Memberfunktionen,dequeue.func>
|
|
<pre>
|
|
void Clear(void); // logically clear the queue
|
|
void Init(int max); // set size of queue (hint)
|
|
// Init destroys contents and resets all
|
|
void PutFront( T *element); // adds element on Front of queue
|
|
T *GetFront(void); // zero if queue empty
|
|
void PutBack( T *element); // adds element on Back of queue
|
|
T *GetBack(void); // zero if queue empty
|
|
void Put( T* element ) { PutBack(element);} // Put/Get Support
|
|
T* Get(void) { return GetBack();}
|
|
|
|
int InQueue(void); // returns number of elements queue
|
|
bool IsEmpty(void) const; // true if InQueue() returns zero
|
|
|
|
// iteration
|
|
void Set(int index); // sets iteration index
|
|
void Reset(void); // resets iteration index (same as Set(0) )
|
|
T *Next(void); // returns current element or 0 if no more left, Resets iterator
|
|
T *NextNoReset(void); // returns current element or 0 if no more left, Does not reset iterator
|
|
T* operator[](int i) const; // returns element at index i
|
|
T * SetAt(int i,T* newvalue); // direct access to element, replaces element
|
|
|
|
virtual void Extend(void); // called from Put*() if stacksize reaches max_elements
|
|
</pre>
|