2012-05-14 8 views
8

Ich verwende SWIG, um eine Funktion zu umbrechen, die eine std::map in PHP zurückgibt.Iterieren über std :: map in PHP mit SWIG

Im PHP-Code muss ich über die Elemente der Karte iterieren.

Thw SWIG Bibliothek bietet Unterstützung für std::map mit der std_map.i Interface-Datei, sondern nur die folgenden Methoden eingewickelt werden:

clear() 
del($key) 
get($key) 
has_key($key) 
is_empty() 
set($key, $x) 
size() 

Wie kann ich über die Elemente der Karte iterieren? Müsste ich die std_map.i Datei mit einer Art Wrapper für Iteratoren und begin() und end() erweitern?

+0

Herausforderung angenommen. Die "richtige" Sache zu implementieren ist PHP [Iterator-Schnittstelle] (http://php.net/manual/en/class.iterator.php), aber es sieht aus wie das könnte ein bisschen schwierig sein. Ich werde nachdenken – Flexo

Antwort