2012-05-14 17 views
8

Sto usando SWIG per eseguire il wrapping di una funzione che restituisce un std::map in PHP.Iterating su std :: map in PHP con SWIG

Nel codice PHP, ho bisogno di scorrere gli elementi della mappa.

biblioteca Thw SWIG fornisce il supporto per std::map con il file di interfaccia std_map.i, ma solo i seguenti metodi sono avvolti:

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

Come posso iterare sugli elementi della mappa? Dovrei estendere il file std_map.i con alcuni tipi di wrapper per gli iteratori e begin() e end()?

+0

Sfida accettata. La cosa "giusta" da fare è implementare l'interfaccia [iterator] di PHP (http://php.net/manual/en/class.iterator.php) ma sembra che potrebbe essere un po 'complicato. Ci penserò – Flexo

risposta