%module cpp11_shared_ptr_nullptr_in_containers %{ #include <memory> #include <vector> class C; %} %include <std_shared_ptr.i> %include <std_vector.i> %shared_ptr(C) %inline %{ class C { int m; public: C() : m(-1) {} C(int i) : m(i) {} int get_m() { return m; } }; %} %template() std::vector<std::shared_ptr<C> >; %inline %{ std::vector<std::shared_ptr<C> > ret_vec_c_shared_ptr() { std::vector<std::shared_ptr<C> > ret(3); ret[0] = std::shared_ptr<C>(new C(0)); ret[2] = std::shared_ptr<C>(new C(2)); return ret; } std::vector<std::shared_ptr<C> > ret_arg_vec(const std::vector<std::shared_ptr<C> >& v) { return v; } bool is_last_null(const std::vector<std::shared_ptr<C> >& v) { if( v.back() ) { return false; } else { return true; } } %}
Generated by dwww version 1.15 on Tue Jul 2 00:24:21 CEST 2024.