8

我正在使用 SWIG 包装一个std::map在 PHP 中返回的函数。

在 PHP 代码中,我需要遍历地图的元素。

Thw SWIG 库提供对std::map接口std_map.i文件的支持,但仅包装了以下方法:

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

如何迭代地图的元素?std_map.i我是否需要使用某种用于迭代器和的包装器来扩展文件begin()end()

4

1 回答 1

1

正如@awoodland 所说,您将必须实现迭代器接口。

这是关于stackoverflow的另一个问题。虽然它是 Java,但它可以让您更好地了解您正在寻找的内容:

将 SWIG 与 C++ 的 std::map 一起使用时,Java 没有迭代器

于 2012-05-16T21:28:07.143 回答