2017-02-28 67 views
0

在我.i文件我有很多这样的矢量模板:我有一个SWIG包裹的矢量。我怎么知道它包含哪种类型?

%template(VectorInt) std::vector<int>; 

我有必要采取这些载体之一,并构建任何类型的载体包含一个实例。

我知道我可以得到矢量的类型,并使用我对命名约定的知识来计算出与所需类型相同的字符串,并从中调用构造函数。

我不能指望矢量不是空的。

有没有更可靠的方法来获取这些信息?

+0

没有任何东西阻止你拥有一个boost :: vector的任何类型映射,这意味着vector的每个元素都有不同的类型。我想你真的想用鸭子在Python中打字。 – Flexo

+0

@Flexo这让我很高兴我不能使用Boost。 – JETM

回答

0

如果矢量已经有元素,从任何元素中获取类型信息。

否则,您可以在矢量上调用resize,得到您所需要的,然后在之后调用clear

相关问题