我想从 Perl 脚本访问 C++ 程序的模板列表并使用这些值。
示例代码:
typedef list < Struct1 * > sturct1_list;
struct Struct2
{
int i;
struct1_list List1;
}
struct Struct1
{
int j;
}
我使用了一个 swig 生成的 api 并执行了以下操作:
$myList = Struct2_struct1List_get
print "Reference type: " . ref($myList) ;
现在打印为:
Reference type: \_p\_std\_\_listTutils\_\_Struct1\_p\_t
如何使用这个从结构中获取值?
从重复的问题更新:
在我放的接口文件中
%template(ListStruct1) std::list< Struct1 * >;
在我生成“.pm”文件之后。我检查了此列表中可用的 API。
我发现
ListStuct1_size
ListStuct1_empty
ListStuct1_clear
ListStuct1_push.
我能够使用这些元素。但我不知道如何使用这些 API 访问列表的各个元素?还是我在接口文件中遗漏了什么?
更新:
typemap 可以在这里将列表作为数组返回吗?