2012-05-14 21 views
8

Estoy usando SWIG para envolver una función que devuelve std::map en PHP.Iterating over std :: map en PHP con SWIG

En el código PHP, necesito iterar sobre los elementos del mapa.

biblioteca Thw TRAGO proporciona soporte para std::map con el archivo de interfaz std_map.i, pero sólo se envuelven los métodos siguientes:

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

Como puedo iterar sobre los elementos del mapa? ¿Tendría que extender el archivo std_map.i con algún tipo de envoltorio para iteradores y begin() y end()?

+0

Desafío aceptado. Lo "correcto" que hay que hacer es implementar PHP [interfaz del iterador] (http://php.net/manual/en/class.iterator.php), pero parece que puede ser un poco complicado. Voy a pensar – Flexo

Respuesta