Extra-Parameter in std::queue reinquetschen
-
Hallo,
ich habe eine queue, die im Moment wie folgt ausschaut:
std::queue<Request>wobei Request eine Klasse ist, die ich implementiert habe.
Jetzt möchte ich noch eine Liste von IP-Adressen in diese Queue tun.
Ist es mit sowas wie std::queue<Request, list <string>> möglich?
Danke für die Tipps!
CP
-
Wie meinst du das jetzt? Eine queue<> kann nur gleichartige Objekte speichern, nicht bunt gemischt 'Request's und list<>en. Aber wenn du zu jedem Request noch eine Liste packen willst, kannst du sowas nehmen:
typedef std::deque<std::pair<Request,std::list<std::string> > > Request_Array;(bei solchen Bandwürmern ist man froh, daß es typedef gibt :D)
-
Aber wenn du zu jedem Request noch eine Liste packen willst, kannst du sowas nehmen:
Eigentlich möchte ich zu jedem Request von der Queue genau eine IP-Addresse hinfügen.
-
Dann pack doch Request und Adresse jeweils zu einem std::pair<> zusammen (oder vielleicht ist es sogar besseres Design, wenn die Adresse Attribut der REquest-Klasse wird).
-
typedef std::deque< std::pair<Request, std::string > > deque_request; deque_request deque; qeque.push_back(std::make_pair(myRequest, "192.168.0.1"));...