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.