C++-manual
Förutgående | Kapitel 24. Standard Template Library | Nästa

# Adaptorer

En adaptor är ett gränssnitt som placeras "ovanpå" en container för att emulera någon annan typ av container som inte direkt finns implementerad som en egen klass. Det finns tre olika nya containers som kan användas via adaptorer, nämligen `stack`, `queue` och `priority_queue`. Olika klasser kan användas som "bas" för adaptorerna, men vissa är mer lämpliga än andra och alla klasser kan inte användas för allting. Normalt används endast sekvenscontainers. För att t.ex. skapa en stack av `float` som använder en lista som bas kan vi använda följande anrop:

    stack<list<float> > Scores;

Notera igen att man måste ha ett mellanrum mellan de båda `>` för att undvika kollision med I/O-operatorn `>>`. Notera även att den stack vi skapade i Kapitel 23 kunde enkelare gjorts med en `stack` ut STL!

En `queue` är en normal mö men där ingen iteration över elementen tillåts. Man kan endast accessera det första och det sista elementet. Insättningar och raderingar sker likaså i början eller i slutet av en `queue`. En `queue` skapas på samma sätt som en `stack`.

En `priority_queue` är även en speciell form av kö ur vilken man kan hämta element i storleksordning. Prioritetsköer används i flera speciella sammanhang, t.ex. för skedulering av processer.

Förutgående | Hem | Nästa
Generiska algoritmer | Upp | Diskussion