mirror of https://github.com/swig/swig
Add std::vector back reference test
This commit is contained in:
parent
f19882ed51
commit
9038a9987d
|
@ -647,6 +647,7 @@ CPP_STD_TEST_CASES += \
|
|||
li_std_pair_using \
|
||||
li_std_string \
|
||||
li_std_vector \
|
||||
li_std_vector_back_reference \
|
||||
li_std_vector_enum \
|
||||
li_std_vector_member_var\
|
||||
li_std_vector_ptr \
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
%module li_std_vector_back_reference
|
||||
|
||||
%include <std_vector.i>
|
||||
|
||||
%inline %{
|
||||
// #include <iostream>
|
||||
struct Wheel {
|
||||
int size;
|
||||
Wheel(int sz = 0) : size(sz) {}
|
||||
// ~Wheel() { std::cout << "~Wheel" << std::endl; }
|
||||
};
|
||||
%}
|
||||
|
||||
%template(VectorWheel) std::vector<Wheel>;
|
|
@ -0,0 +1,10 @@
|
|||
from li_std_vector_back_reference import *
|
||||
|
||||
def first_element():
|
||||
v = VectorWheel((Wheel(11), Wheel(22)))
|
||||
# v will be deleted after exit from this method
|
||||
return v[0]
|
||||
|
||||
size = first_element().size
|
||||
if size != 11:
|
||||
raise RuntimeError("Back reference not working {}".format(size))
|
Loading…
Reference in New Issue