有没有办法在 SWIG 的单个 %rename 调用中运行多个过滤器?
我从手册中知道我可以使用这样的一行:
%rename("%(strip:[H3D])s") "";
这会将所有方法(例如“H3DFoo”)转换为“Foo”。还有其他用于进行案例转换的内置过滤器,但没有关于如何执行多个步骤的文档。
使用另一个 %rename 替换过滤器,我还没有找到一个分隔符来对字符串运行多个过滤器。因此,似乎可以转换类型大小写或删除前缀,而不是两者兼而有之。
在这种特殊情况下,可能可以使用正则表达式过滤器,但能够同时删除前缀和转换类型大小写会很好。另一种选择是在每个声明上放置一个 %rename ,但这违背了 %rename 能够应用于一般模块的目的。