SWIG - 包装到 C# 时没有 std::list 的默认类型映射,我该怎么做?

SWIG - No default typemap for std::list when wrapping to C#, how can I do?

我目前正在使用 SWIG 将大型 C++ 库包装到 C#。我面临一个大问题,因为我的库使用了大量 std::list,而且 SWIG(我使用的是最新版本 3.0.12)似乎不提供std::list 的默认映射。我在网上找遍了,什么也没找到。我很惊讶,因为 std::list 与 C# LinkedList 非常相似!

不管怎样,我已经很久没有在 SWIG 工作了,所以我真的不知道该怎么做。我所知道的是我绝对不能改变所有 std:: list 在我的 lib 中,我真的很想将它们包装在 C# LinkedList 中,但我不知道这是否可能以及我是否可以轻松地做到这一点..

我查看了类型映射,但我不确定它能否正常工作,因为将 std::list 映射到 LinkedList 似乎比使用简单的类型映射更复杂..

朋友们,我需要你们的指教! 提前致谢, 昆汀.

好吧,对于那些像我一样面临同样问题的人,我最终决定自己实现 std::list 到 C# LinkedList。

我今天在 SWIG GitHub 上提出了一个拉取请求。如果有人感兴趣,可以去看看。它并不完美,但暂时可用。